學習docker create命令,發現其相關選項有點多,為方便以后查看,通過網絡搜索整理如下:
1、create 命令與容器運行模式相關的選項:
-a,--attach= [] 是否綁定到標准輸人、輸出和錯誤
-d,--detach=true| false 是否在后台運行容器,默認為否
--detach-keys="" 從attach模式退出的快捷鍵
--entrypoint="" 鏡像存在人口命令時,覆蓋為新的命令
-- expose= [] 指定容器會暴露出來的端口或端口范圍
--group-add= [] 運行容器的用戶組
-i,-- interactive=true| false 保持標准輸人打開,默認為false
--ipc="" 容器IPC命名空間,可以為其他容器或主機
-- isolation= "default" 容器使用的隔離機制
-- log-driver= "json-file" 指定容器的日志驅動類型,可以為json-file、syslog、journald、gelf、fluentd、awslogs、splunk、etwlogs、gcplogs或none
--log-opt=[] 傳遞給日志驅動的選項
- -net= "bridge" 指定容器網絡模式,包括bridge、none、 其他容器內網絡、host 的網絡或某個現有網絡等
--net-alias= [] 容器在網絡中的別名
-P,--publish-all=true | false 通過NAT機制將容器標記暴露的端口自動映射到本地主機的臨時端口
-p, --publish=[] 指定如何映射到本地主機端口,例如-p 11234-12234:1234-2234
--pid=host 容器的PID命名空間
--userns="" 啟用userns - remap時配置用戶命名空間的模式
--uts=host 容器的utS命名空間
-- restart= "no" 容器的重啟策略,包括no、on- failure[:max-retry]、always、unless- stopped等
-- rm=true | false 容器退出后是否自動刪除,不能跟-d同時使用-t,--tty=true | false 是否分配-一個偽終端,默認為false
-- tmpfs= [] 掛載臨時文件系統到容器
-v| --volume [= [ [HOST- DIR: ] CONTAINER -DIR [:OPTIONS]]] 掛載主機上的文件卷到容器內
- -volume - driver="" 掛載文件卷的驅動類型
--volumes- from= [] 從其他容器掛載卷
-W,--workdir= ”” 容器內的默認工作目錄
2、create命令與容器環境和配置相關的選項
-- add-host= [] 在容器內添加一個 主機名到IP地址的映射關 系(通過/etc/hosts 文件)
-- device= [] 映射物理機上的設備到容器內
--dns - search= [] DNS搜索域
--dns -opt= [] 自定義的DNS選項
--dns= [] 自定義的DNS服務器
-e,--env= [] 指定容器內環境變量
--env-file= [] 從文件中讀取環境變量到容器內
-h,-- hostname=" " 指定容器內的主機名
--ip=" " 指定容器的IPv4地址
--ip6=" " 指定容器的IPv6地址
--link= [<name or id>:alias] 鏈接到其他容器
--link-local-ip= [] : 容器的本地鏈接地址列表
- - mac-address=" " 指定容器的Mac地址
--name=" " 指定容器的別名
3、create命令與容器資源限制和安全保護相關的選項
--blkio-weight=10~1000 容器讀寫塊設備的1/0性能權重,默認為0
--blkio-weight-device=[DEVICE_ NAME : WEIGHT] 指定各個塊設備的I/O性能權重
--cpu-shares=0 允許容器使用CPU資源的相對權重,默認一個容器能用滿個核的 CPU
--cap-add=[] 增加容器的Linux指定安全能力
--cap-drop=[] 移除容器的Linux指定安全能力
--cgroup-parent=" " 容器cgroups 限制的創建路徑
--cidfile="" 指定容器的進程ID號寫到文件
--cpu-period=0 限制容器在CFS調度器下的CPU占用時間片
--cpuset-cpus=" " 限制容器能使用哪些CPU核心
--cpuset-mems=" " NUMA架構下使用哪些核心的內存
--cpu-quota=0 限制容器在CFS調度器下的CPU配額
--device-read-bps=[] 掛載設備的讀吞吐率(以bps為單位)限制
--device-write-bps=[] 掛載設備的寫吞吐率(以bps為單位)限制
--device-read-iops=[] 掛載設備的讀速率(以每秒io次數為單位)限制
--device-write-iops=[] 掛載設備的寫速率(以每秒i/o次數為單位)限制
--health-cmd=" " 指定檢查容器健康狀態的命令
--health-interval=0s 執行健康檢查的間隔時間,單位可以為ms、s、 m或h
--health-retries=int 健康檢查失敗重試次數,超過則認為不健康
--health-start-period=0s 容器啟動后進行健康檢查的等待時間,單位可以為ms、s、m或h
--health-timeout=0s 健康檢查的執行超時,單位可以為ms、s、m或h
--no-healthcheck=true|false 是否禁用健康檢查
--init 在容器中執行-一個init進程,來負責響應信號和處理僵屍狀態子進程
--kernel-memory=" " 限制容器使用內核的內存大小,單位可以是b、k、m或g
-m,--memory=" " 限制容器內應用使用的內存,單位可以是b、k、m或g
--memory-reservation="" 當系統中內存過低時,容器會被強制限制內存到給定值,默認情況下等於內存限制值
--memory-swap="LIMIT" 限制容器使用內存和交換區的總大小
--oom-kill-disable=true|false 內存耗盡時是否殺死容器
--00m-score-adj="" 調整容器的內存耗盡參數
--pids-limit="" 限制容器的pid個數
--privileged-true|false 是否給容器高權限,這意味着容器內應用將不受權限的限制,一般不推薦
--read-only=true|false 是否讓容器內的文件系統只讀
--security-opt= [] 指定一些安全參數,包括權限、安全能力、apparmor等
--stop-signal=SIGTERM 指定停止容器的系統信號
-- shm-size="" /dev/shm的大小
--sig-proxy=true| false 是否代理收到的信號給應用,默認為true,不能代理SIGCHLD、SIGSTOP和SIGKILL信號
--memory-swappiness="0~100" 調整容器的內存交換區參數
-U,--user="" 指定在容器內執行命令的用戶信息
--userns="" 指定用戶命名空間
--ulimit=[] 通過ulimit來限制最大文件數、最大進程數