usage: docker run [options] image [command] [arg...]-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= 新增許可權,許可權清單詳見:http://
linux.die.net/man/7/capabilities
--cap-drop= 刪除許可權,許可權清單詳見:http://
linux.die.net/man/7/capabilities
--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:name_or_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不能被**
使用案例:
案例1、執行乙個簡單的容器,其中需要包含控制台管理
[[email protected] ~]#docker run -i -t centos6.8
這個容器一執行就會進入到預設的執行緒」/bin/bash」,直接進入控制台操作。當退出控制後後,容器會被終止。
案例2、執行乙個在後台執行的容器,同時,還能用控制台管理
[[email protected] ~]#docker run -i -t -d centos6.8
這個容器一執行,會自動執行預設的執行緒」/bin/bash」,但是不會讓你馬上進入控制台操作。將會在後台執行,用docker ps 可以看到當前執行的控制台。進入容器可是使用docker attach「container name or id」。
案例3、執行乙個帶命令在後台不斷執行的容器,不直接展示容器內部資訊
[[email protected] ~]#docker run -d centos6.8 ping www.docker.com
這個容器將永久在後台執行,因為ping這個執行緒不會停止。除非你停止了ping的執行緒。
案例4、執行乙個在後台不斷執行的容器,同時帶有命令,程式被終止後還能重啟繼續跑,還能用控制台管理
[[email protected] ~]#docker run -d --restart=always centos6.8 ping www.docker.com
這個容器將永久在後台執行,因為ping這個執行緒不會停止。如果你把ping這個執行緒終止了,那麼容器會重啟繼續執行ping功能
案例5、我們需要為容器指定乙個名稱
[[email protected] ~]#docker run -d --name=server-dbcentos6.8-mysql /usr/bin/mysql_safe -d
這時候我們這個容器的名稱為server-db,同時啟用了資料庫mysql的後台執行緒,讓它不斷的跑,這時候我們的容器也不會被關閉。
案例6、我們需要讓server-http容器連線server-db容器
這時候,我們執行了apache的伺服器讓它不斷的在後台執行,同時,在php裡配置mysql的伺服器名稱為」server-db」,直接用server-db命名就可以了。不需要輸入ip位址之類的。我們的server-http指定連線了server-db。server-db在server-http裡會被當做乙個dns解析來獲取相應的連線ip。
案例7、我們要將server-db,server-http的埠暴露出去,讓大家訪問
[[email protected] ~]#docker run -d --name=server-db -p 3306:3306 centos6.8-mysql /usr/bin/mysql_safe –d
這時候我們指定了伺服器宿主機的3306埠對映到容器的3306埠,暴露出去。
這時候我們指定了伺服器宿主機的8080埠對映到容器80埠,暴露出去。
案例8、我們要將宿主機的資料庫目錄/server/mysql-data掛載到server-db上
[[email protected] ~]#docker run -d --name=server-db -p 3306:3306 -v /server/mysql-data:/mysql-data centos6.8-mysql /usr/bin/mysql_safe –d
這時候,你會發現,在server-db根目錄下你會發現有乙個新的資料夾mysql-data,同時裡面的檔案內容和宿主機下/server/mysql-data一樣。
案例9、我們希望乙個容器在它的程序結束後,立馬自動刪除。
[[email protected] ~]#docker run -it --rm centos6.8
這時候我們進入了容器的控制台,當我們在容器內部exit退出控制台的時候,容器將被終止,同時自動刪除。
docker run常用命令
docker run 建立乙個新的容器並執行乙個命令 語法 docker run options image command arg.t 為容器重新分配乙個偽輸入終端,通常與 i 同時使用 i 以互動模式執行容器,通常與 t 同時使用 d 後台執行容器,並返回容器id name 為容器指定乙個名稱 ...
docker run 指定配置常用命令記錄
docker啟動新增時區 dockerfile編譯映象docker build t dockerfile 這個名字就是映象名docker網路 bridge模式bridge 橋接網路預設情況下啟動的docker容器,都是使用 bridge,docker安裝時建立的橋接網路,每次docker容器重啟時,...
gdb常用命令解析
1 使用gdb的前提是gcc裡加入 g選項 2 啟動gdb有兩種方法 gdb 程式名 或 gdb file 程式名 3 gdb常用命令 break b 函式名 在指定函式入口處打斷點 break b 行號 在檔案指定行加入斷點 break b 檔名 行號 在指定檔案的指定行號處加入斷點 break ...