天天看點

Docker指令詳解(一):docker run

建立容器,常用選項說明
docker run [OPTIONS] 容器id/容器名稱 /bin/bash #docker建立容器指令           
OPTIONS 描述
-d, --detach=false 指定容器運作于前台還是背景
-i, --interactive=false 打開STDIN,用于控制台互動
-t, --tty=false 1 配置設定tty裝置,該可以支援終端登入,預設為false
-u, --user="" 指定容器的使用者
-a, --attach=[] 登入容器(必須是以docker run -d啟動的容器)
-w, --workdir="" 指定容器的工作目錄
-P, --publish-all=false 指定容器暴露的端口
-p, --publish=[]
-h, --hostname="" 指定容器的主機名
-v, --volume=[] 給容器挂載存儲卷,挂載到容器的某個目錄
--volumes-from=[] 給容器挂載其他容器上的卷,挂載到容器的某個目錄
--cap-add=[] 添權重限,權限清單詳見: http://linux.die.net/man/7/capabilities
--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"

容器網絡設定:

bridge:使用docker daemon指定的網橋

host:容器使用主機的網絡

container:容器id/容器名稱,使用其他容器的網路,共享IP和PORT等網絡資源

none:容器使用自己的網絡(類似--net=bridge),但是不進行配置

--privileged=false 指定容器是否為特權容器,特權容器擁有所有的capabilities
--restart="no"

指定容器停止後的重新開機政策:

no:容器退出時不重新開機

on-failure:容器故障退出(傳回值非零)時重新開機

always:容器退出時總是重新開機

--rm=false 指定容器停止後自動删除容器(不支援以docker run -d啟動的容器)
--sig-proxy=true 設定由代理接受并處理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理