11、《每天5分鐘玩轉Docker容器技術》學習-Docker命令之容器生命周期管理
docker create :創建一個新的容器但不啟動它
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 後臺運行容器,並返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
--name="nginx-lb": 為容器指定一個名稱;
--dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 設置環境變量;
--env-file=[]: 從指定文件讀入環境變量;
--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行;
-m :設置容器使用內存最大值;
·--net="bridge": 指定容器的網絡連接類型,支持 bridge/host/none/container:<name|id> 四種類型;
--link=[]: 添加鏈接到另一個容器;
--expose=[]: 開放一個端口或一組端口;
l 實例
使用docker鏡像nginx:latest創建一個容器,並將容器命名為myrunoob
b) Docker run 命令
docker run :創建一個新的容器並運行一個命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 後臺運行容器,並返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
--name="nginx-lb": 為容器指定一個名稱;
--dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 設置環境變量;
--env-file=[]: 從指定文件讀入環境變量;
--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行;
-m :設置容器使用內存最大值;
·--net="bridge": 指定容器的網絡連接類型,支持 bridge/host/none/container:<name|id> 四種類型;
--link=[]: 添加鏈接到另一個容器;
--expose=[]: 開放一個端口或一組端口;
l 實例
使用docker鏡像nginx:latest以後臺模式啟動一個容器,並將容器命名為mynginx。
docker run --name mynginx -d nginx:latest
使用鏡像nginx:latest以後臺模式啟動一個容器,並將容器的80端口映射到主機隨機端口。
docker run -P -d nginx:latest
使用鏡像nginx:latest以後臺模式啟動一個容器,將容器的80端口映射到主機的80端口,主機的目錄/data映射到容器的/data。
docker run -p 80:80 -v /data:/data -d nginx:latest
使用鏡像nginx:latest以交互模式啟動一個容器,在容器內執行/bin/bash命令。
c) Docker start/stop/restart 命令
docker start :啟動一個或多少已經被停止的容器
docker stop :停止一個運行中的容器
docker restart :重啟容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]
l 實例
啟動已被停止的容器myrunoob
docker start myrunoob
停止運行中的容器myrunoob
docker stop myrunoob
重啟容器myrunoob
docker restart myrunoob
d) Docker pause/unpause 命令
docker pause :暫停容器中所有的進程。
docker unpause :恢復容器中所有的進程。
docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]
l 實例
暫停數據庫容器db01提供服務。
docker pause db01
恢復數據庫容器db01提供服務。
docker unpause db01
e) Docker exec 命令
docker exec :在運行的容器中執行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-d :分離模式: 在後臺運行
-i :即使沒有附加也保持STDIN 打開
-t :分配一個偽終端
l 實例
在容器mynginx中以交互模式執行容器內/root/runoob.sh腳本
在容器mynginx中開啟一個交互模式的終端
f) Docker rm 命令
docker rm :刪除一個或多少容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
-f :通過SIGKILL信號強制刪除一個運行中的容器
-l :移除容器間的網絡連接,而非容器本身
-v :-v 刪除與容器關聯的卷
l 實例
強制刪除容器db01、db02
docker rm -f db01、db02
移除容器nginx01對容器db01的連接,連接名db
docker rm -l db
刪除容器nginx01,並刪除容器掛載的數據卷
docker rm -v nginx01
g) Docker kill 命令
docker kill :殺掉一個運行中的容器。
docker kill [OPTIONS] CONTAINER [CONTAINER...]
-s :向容器發送一個信號
l 實例
殺掉運行中的容器mynginx
runoob@runoob:~$ docker kill -s KILL mynginx
mynginx
11、《每天5分鐘玩轉Docker容器技術》學習-Docker命令之容器生命周期管理