生活随笔
收集整理的這篇文章主要介紹了
【docker】docker run命令详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Docker?run命令用于運行一個新容器,而啟動一個容器需要非常多的信息,所以該命令的參數非常多,今天就詳細分析下該命令支持的參數。
首先看一下該命令的格式:
?
[html]?view plain?copy
Usage:?docker?run?[OPTIONS]?IMAGE?[COMMAND]?[ARG...]????-a,?--attach=[]????????????登錄容器(以docker?run?-d啟動的容器)????-c,?--cpu-shares=0?????????設置容器CPU權重,在CPU共享場景使用????--cap-add=[]???????????????添加權限,權限清單詳見:http://linux.die.net/man/7/capabilities????--cap-drop=[]??????????????刪除權限,權限清單詳見:http://linux.die.net/man/7/capabilities????--cidfile=""???????????????運行容器后,在指定文件中寫入容器PID值,一種典型的監控系統用法????--cpuset=""????????????????設置容器可以使用哪些CPU,此參數可以用來容器獨占CPU????-d,?--detach=false?????????指定容器運行于前臺還是后臺?????--device=[]????????????????添加主機設備給容器,相當于設備直通????--dns=[]???????????????????指定容器的dns服務器????--dns-search=[]????????????指定容器的dns搜索域名,寫入到容器的/etc/resolv.conf文件????-e,?--env=[]???????????????指定環境變量,容器中可以使用該環境變量????--entrypoint=""????????????覆蓋image的入口點????--env-file=[]??????????????指定環境變量文件,文件格式為每行一個環境變量????--expose=[]????????????????指定容器暴露的端口,即修改鏡像的暴露端口????-h,?--hostname=""??????????指定容器的主機名????-i,?--interactive=false????打開STDIN,用于控制臺交互????--link=[]??????????????????指定容器間的關聯,使用其他容器的IP、env等信息????--lxc-conf=[]??????????????指定容器的配置文件,只有在指定--exec-driver=lxc時使用????-m,?--memory=""????????????指定容器的內存上限????--name=""??????????????????指定容器名字,后續可以通過名字進行容器管理,links特性需要使用名字????--net="bridge"?????????????容器網絡設置,待詳述????-P,?--publish-all=false????指定容器暴露的端口,待詳述????-p,?--publish=[]???????????指定容器暴露的端口,待詳述????--privileged=false?????????指定容器是否為特權容器,特權容器擁有所有的capabilities????--restart=""???????????????指定容器停止后的重啟策略,待詳述????--rm=false?????????????????指定容器停止后自動刪除容器(不支持以docker?run?-d啟動的容器)????--sig-proxy=true???????????設置由代理接受并處理信號,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理????-t,?--tty=false????????????分配tty設備,該可以支持終端登錄????-u,?--user=""??????????????指定容器的用戶????-v,?--volume=[]????????????給容器掛載存儲卷,掛載到容器的某個目錄????--volumes-from=[]??????????給容器掛載其他容器上的卷,掛載到容器的某個目錄????-w,?--workdir=""???????????指定容器的工作目錄??
?
?
故障處理
--restart參數,支持三種邏輯實現:
?
[html]?view plain?copy
</pre><pre?name="code"?class="html">no:容器退出時不重啟??on-failure:容器故障退出(返回值非零)時重啟??always:容器退出時總是重啟??
?
端口暴露
-P參數:docker自動映射暴露端口;
?
[html]?view plain?copy
docker?run?-d?-P?training/webapp??<span?style="color:#009900;">//docker自動在host上打開49000到49900的端口,映射到容器(由鏡像指定,或者--expose參數指定)的暴露端口;</span>??
-p參數:指定端口或IP進行映射;
?
[html]?view plain?copy
docker?run?-d?-p?5000:80?training/webapp??<span?style="color:#009900;">//host上5000號端口,映射到容器暴露的80端口;</span>??docker?run?-d?-p?127.0.0.1:5000:80?training/webapp?<span?style="color:#009900;">//host上127.0.0.1:5000號端口,映射到容器暴露的80端口;</span>??docker?run?-d?-p?127.0.0.1::5000?training/webapp?<span?style="color:#009900;">//host上127.0.0.1:隨機端口,映射到容器暴露的80端口;</span>??docker?run?-d?-p?127.0.0.1:5000:5000/udp?training/webapp?<span?style="color:#009900;">//綁定udp端口;</span>??
?
網絡配置
?
[html]?view plain?copy
--net=bridge:?<span?style="color:#009900;">//使用docker?daemon指定的網橋</span>??--net=host:?<span?style="color:#009900;">//容器使用主機的網絡</span>??--net=container:NAME_or_ID:<span?style="color:#009900;">//使用其他容器的網路,共享IP和PORT等網絡資源</span>??--net=none:?<span?style="color:#009900;">//容器使用自己的網絡(類似--net=bridge),但是不進行配置</span>??
總結
以上是生活随笔為你收集整理的【docker】docker run命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。