命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Usage: Run a command in a new container
中文意思為:通過run命令建立一個新的容器(container)
常用選項說明
no:容器退出時不重啟
on-failure:容器故障退出(返回值非零)時重啟
always:容器退出時總是重啟
bridge 使用docker daemon指定的網橋
host //容器使用主機的網路
container:NAME_or_ID >//使用其他容器的網路,共享IP和PORT等網路資源
none 容器使用自己的網路(類似--net=bridge),但是不進行配置
-d, --detach=false, 指定容器執行於前臺還是後臺,預設為false
-i, --interactive=false, 開啟STDIN,用於控制檯互動
-t, --tty=false, 分配tty裝置,該可以支援終端登入,預設為false
-u, --user="", 指定容器的使用者
-a, --attach=[], 登入容器(必須是以docker run -d啟動的容器)
-w, --workdir="", 指定容器的工作目錄
-c, --cpu-shares=0, 設定容器CPU權重,在CPU共享場景使用
-e, --env=[], 指定環境變數,容器中可以使用該環境變數
-m, --memory="", 指定容器的記憶體上限
-P, --publish-all=false, 指定容器暴露的埠
-p, --publish=[], 指定容器暴露的埠
-h, --hostname="", 指定容器的主機名
-v, --volume=[], 給容器掛載儲存卷,掛載到容器的某個目錄
--volumes-from=[], 給容器掛載其他容器上的卷,掛載到容器的某個目錄
--cap-add=[], 新增許可權
--cap-drop=[], 刪除許可權
--cidfile="", 執行容器後,在指定檔案中寫入容器PID值,一種典型的監控系統用法
--cpuset="", 設定容器可以使用哪些CPU,此引數可以用來容器獨佔CPU
--device=[], 新增主機裝置給容器,相當於裝置直通
--dns=[], 指定容器的dns伺服器
--dns-search=[], 指定容器的dns搜尋域名,寫入到容器的/etc/resolv.conf檔案
--entrypoint="", 覆蓋image的入口點
--env-file=[], 指定環境變數檔案,檔案格式為每行一個環境變數
--expose=[], 指定容器暴露的埠,即修改映象的暴露埠
--link=[], 指定容器間的關聯,使用其他容器的IP、env等資訊
--lxc-conf=[], 指定容器的配置檔案,只有在指定--exec-driver=lxc時使用
--name="", 指定容器名字,後續可以通過名字進行容器管理,links特性需要使用名字
--net="bridge", 容器網路設定:
--privileged=false, 指定容器是否為特權容器,特權容器擁有所有的capabilities
--restart="no", 指定容器停止後的重啟策略:
--rm=false, 指定容器停止後自動刪除容器(不支援以docker run -d啟動的容器)
--sig-proxy=true, 設定由代理接受並處理訊號,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
示例
執行一個在後臺執行的容器,同時,還能用控制檯管理:docker run -i -t -d ubuntu:latest
執行一個帶命令在後臺不斷執行的容器,不直接展示容器內部資訊:docker run -d ubuntu:latest ping www.docker.com
執行一個在後臺不斷執行的容器,同時帶有命令,程式被終止後還能重啟繼續跑,還能用控制檯管理,docker run -d --restart=always ubuntu:latest ping www.docker.com
為容器指定一個名字,docker run -d --name=ubuntu_server ubuntu:latest
容器暴露80埠,並指定宿主機80埠與其通訊(: 之前是宿主機埠,之後是容器需暴露的埠),docker run -d --name=ubuntu_server -p 80:80 ubuntu:latest
指定容器內目錄與宿主機目錄共享(: 之前是宿主機資料夾,之後是容器需共享的資料夾),docker run -d --name=ubuntu_server -v /etc/www:/var/www ubuntu:latest
[admin via ] Docker命令詳解,命令RUN的使用方法已經有443次圍觀