https://www.runoob.com/docker/docker-container-usage.html
https://blog.clarence.tw/2019/09/10/docker-removing-containers-images-volumes-and-networks/
https://ithelp.ithome.com.tw/users/20102562/ironman/3746?page=3
——————————————————–
docker 如有非 root user 須執行 ,將 目前 user 加入 Docker 使用群 ,就可以使用 ,編輯 /etc/group ,username 加入 docker 那一行即可
或 sudo gpasswd -a myusername docker
——————————————————–
–ulimit 參數
範例: docker run –ulimit nofile=1024:1024 –rm debian ulimit -n
nofile 可以開啟檔案描述符號的最大數量
core 最大核心檔案的大小,以blocks為單位
cpu 指定CPU使用時間的上限,以秒為單位
data 處理程序最大數據塊的大小,以Kbyt為單
fsize 處理程序可以建立檔案的最大值,以blocks為單位
locks 能同時保持的檔案鎖的最大數量
memlock 最大可加鎖的記憶體大小,以Kby為單位
stack 分配執行緒堆疊的最大值,以kb單位
nproc 個使用者可建立的最大處理程序數
sigpending 使用者可獲得的最大實體記憶體
rss 可以在訊息佇列中分配的最大位元組
msgqueue 非特權使用者處理程序所能請求的即時優先順序的上限
nice 設定處理程序優先順序的nice值,nice值越高,優先順序越低
@注意:對root許可權的使用者來說,ulimit效果並不能全部生效。
——————————————————–
docker pull # 拉取 image
docker attach # 連接正執行的 image
docker version # 查看 docker 版本
docker inspect #查看詳細 image 內容
docker image ls # 查看正執行的 容器
docker image pull hello-world
docker container run hello-world
docker container ls
docker container kill ID
docker run -itd ubuntu /bin/bash
docker image build -t python3-app
———–Network
docker network ls
docker network rm Network-ID
docker network prune #kill all none network
—————docker compose
以 node.js+npl 例子
docker 單獨執行
docker run -it -rm -v \$PWD:/source -w /sorue node:14-alpine
以 compose 執行
vi docker-compose.yml 設定檔
#版本 3.8
version: "3.8″
#定義 server 區塊 , 一個 service 設定可以啟動多個 container
service:
npm:
image: node:14-alpine # pull Image 下來版本
stdin_open: true #指的是 -i , –interactive
tty: true # -t , –tty
working_dri: /source #-w 或 –workdir
volumes:
– .:/source
yml 定義好之後 , 執行作用跟 docker run -it -rm -v \$PWD:/source -w /sorue node:14-alpine 一樣
docker-compose run –rm npm npm -v
—————docker compose 多環境測試
#原本 docker 執行
docker run -it -v $PWD:/source -w /source php:7.1-alpine
vendorbin/phpunit
docker run -it -v $PWD:/source -w /source php:7.2-alpine
vendorbin/phpunit
docker run -it -v $PWD:/source -w /source php:7.3-alpine
vendorbin/phpunit
docker run -it -v $PWD:/source -w /source php:7.4-alpine
vendorbin/phpunit
改 docker-compose.yml
version: "3.8″
service:
php: &basic
image: phpL7.1-alpine
stdin_open: true
tty: true
working_dir: /source
volumes:
– .:/source
command: vendor/bin/phpunit
php72:
<<: *.basic
image: php7.2-alpine
php73:
<<: *.basic
image: php7.3-alpine
php74:
<<: *.basic
image: php7.4-alpine
php80:
<<: *.basic
image: php8.8.8beta4-alpine
按照 單一 container docker-compose 原本指令要這樣下
docker-compose run --rm php71
docker-compose run --rm php72
docker-compose run --rm php73
docker-compose run --rm php74
docker-compose run --rm php80
但 改用一個指令 docker-composer up 即可