1. 程式人生 > 實用技巧 >docker run 引數

docker run 引數

一、格式

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

二、OPTIONS 引數

簡寫, 名稱引數預設引數描述
--add-host 新增自定義主機到IP的對映(host:ip)
--attach , -a 附加到STDIN,STDOUT或STDERR
--blkio-weight IO(相對權重),介於10到1000之間,或者為0禁用(預設為0)
--blkio-weight-device 塊IO重量(相對裝置重量)
--cap-add 新增Linux功能
--cap-drop 放棄Linux功能
--cgroup-parent 容器的可選父cgroup
--cidfile 將容器ID寫入檔案
--cpu-count CPU數量(僅Windows)
--cpu-percent CPU百分比(僅Windows)
--cpu-period 限制CPU CFS(完全公平的排程程式)期限
--cpu-quota 限制CPU CFS(完全公平的排程程式)配額
--cpu-rt-period 限制CPU實時時間(以微秒為單位)
--cpu-rt-runtime 限制CPU實時執行時間(以微秒為單位)
-c, --cpu-shares CPU份額(相對重量)
--cpus CPU數量
--cpuset-cpus 允許執行的CPU(0-3,0,1)
--cpuset-mems 允許執行的MEM(0-3,0,1)
-d, --detach 在後臺執行容器並列印容器ID
--detach-keys 覆蓋分離容器的鍵序列
--device 將主機裝置新增到容器
--device-cgroup-rule 將規則新增到cgroup允許的裝置列表中
--device-read-bps 限制從裝置讀取的速率(每秒位元組數)
--device-read-iops 限制從裝置讀取的速率(每秒IO)
--device-write-bps 限制對裝置的寫入速率(每秒位元組數)
--device-write-iops 限制對裝置的寫入速率(每秒IO)
--disable-content-trust true 跳過影象驗證
--dns 設定自定義DNS伺服器(例如: 8.8.8.8)
--dns-opt 設定DNS選項
--dns-option 設定DNS選項
--dns-search 設定自定義DNS搜尋域
--domainname 容器NIS域名
--entrypoint 覆蓋影象的預設ENTRYPOINT
-e, --env 設定環境變數
--env-file 讀入環境變數檔案
--expose 公開一個或多個埠(8080,8081)
--gpus API 1.40+GPU裝置新增到容器中(“全部”傳遞所有GPU)
--group-add 新增其他群組即可加入
--health-cmd 執行命令以檢查執行狀況
--health-interval 執行檢查之間的時間(ms
--health-retries 需要連續報告不健康狀況
--health-start-period API 1.29+ 容器在開始執行狀況重試倒計時(ms
--health-timeout 允許執行一次檢查的最長時間(ms
--help 列印用量
-h, --hostname 容器主機名(例如:例如:localhost)
--init API 1.25+ 在容器內執行一個初始化程式,以轉發訊號並獲取程序
-i, --interactive 即使未連線STDIN也保持開啟狀態
--io-maxbandwidth 系統驅動器的最大IO頻寬限制(僅Windows)
--io-maxiops 系統驅動器的最大IOps限制(僅Windows)
--ip IPv4地址(例如172.30.100.104)
--ip6 IPv6地址(例如2001:db8 :: 33)
--ipc 使用的IPC模式
--isolation 集裝箱隔離技術
--kernel-memory 核心記憶體限制
-l, --label 在容器上設定元資料
--label-file 讀入行分隔的標籤檔案
--link 將連結新增到另一個容器
--link-local-ip 容器IPv4 / IPv6連結本地地址
--log-driver 容器的日誌記錄驅動程式
--log-opt 日誌驅動程式選項
--mac-address 容器MAC地址(例如92:d0:c6:0a:29:33)
-m,--memory 記憶體限制
--memory-reservation 記憶體軟限制
--memory-swap 交換限制等於記憶體加交換:“-1”以啟用無限交換
--memory-swappiness -1 調整容器記憶體交換(0到100)
--mount 將檔案系統掛載附加到容器
--name 為容器分配一個名稱
--net 網路模式(host, bridge)
--net-alias 為容器新增網路範圍的別名
--network 網路名(可以多個容器公用一個網路名,這樣多容器會在同一個網路環境下)
--network-alias 網路別名(未知)
--no-healthcheck 禁用任何容器指定的健康檢查
--oom-kill-disable 禁用OOM殺手
--oom-score-adj 調臺主持人的OOM首選項(-1000至1000)
--pid 使用的PID名稱空間
--pids-limit 調整容器pids限制(將-1設定為無限制)
--platform 實驗(守護程式)API 1.32+ 如果伺服器具有多平臺功能,請設定平臺
--privileged 賦予此容器擴充套件的特權
-p, --publish 將容器的埠釋出到主機
-P, --publish-all 將所有公開的埠釋出到隨機埠
--read-only 將容器的根檔案系統掛載為只讀
--restart no 容器退出時重新啟動策略以應用(no
--rm 退出時自動刪除容器
--runtime 用於此容器的執行時
--security-opt 安全選項
--shm-size / dev / shm的大小
--sig-proxy true 代理接收到該過程的訊號
--stop-signal SIGTERM 停止容器的訊號
--stop-timeout API 1.25+ 超時(以秒為單位)以停止容器
--storage-opt 容器的儲存驅動程式選項
--sysctl Sysctl選項
--tmpfs 掛載tmpfs目錄
-t, --tty 分配偽TTY
--ulimit Ulimit選項
-u, --user 使用者名稱或UID(格式:<名稱
--userns 要使用的使用者名稱稱空間
--uts 使用的UTS名稱空間
-v,--volume 繫結掛載卷
--volume-driver 容器的可選音量驅動器
--volumes-from 從指定的容器掛載卷
-w,--workdir 容器內的工作目錄

三、案例

docker run -it hello_jmz echo "hello world"
# echo "hello world" 會覆蓋hello_jmz 的CMD

docker run -d -p 8081:8080 -v ./hosts:/etc/hosts:ro --rm playgateway 
#  後臺執行並列印容器iD, 將容器的8080埠對映到主機的8081,將當前的host 檔案掛載到容器的/etc/hosts,已只讀的方式掛載. 結束自動刪除容器

docker run --restart=always --network=my_net --name platformui  platformpcweb 
# 容器掛掉時總是重啟, 容器名為platformui , 使用網路my_net, 沒有會建立

docker run -it --rm centos bash
# 已互動的形式 進入centos 容器,退出後,刪除容器