一、格式
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 容器,退出后,刪除容器