首頁 > 易卦

03-docker系列-docker容器的基本操作

作者:由 小郭子運維 發表于 易卦日期:2022-08-19

怎麼檢視軟體版本資訊

宣告:本文乃“運維家”原創,轉載請註明出處,更多內容請關注公眾號“運維家”。

03-docker系列-docker容器的基本操作

主旨

本文主要介紹下docker容器的基本操作。

環境

linux環境ddocker容器

總則

1、可以用映象生成對應執行的容器,一個映象可以生成多個容器。2、容器裡面的系統和宿主機是相互獨立的。3、容器的刪除和崩潰,不會影響到宿主機。

開啟路由轉發

[yunweijia@localhost ~]$ sudo vim /etc/sysctl。conf # 最後一行新增這個配置net。ipv4。ip_forward = 1[yunweijia@localhost ~]$ sudo sysctl -pnet。ipv4。ip_forward = 1[yunweijia@localhost ~]$

前臺執行容器

語法:docker run -it 映象:版本號 bash環境 引數解釋: -i:表示互動式 -t:表示開啟一個shell視窗例項: [yunweijia@localhost ~]$ sudo docker run -it centos:7 /bin/bash [root@325a97085854 /]# pwd / [root@325a97085854 /]#

這個時候我們輸入

exit

就退出這個映象了,隨之這個映象也停止運行了,這種情況生產環境肯定是不被允許的,下面我們會說下如何讓映象後臺保持執行。

檢視映象執行情況

語法:docker ps [-a] 引數解釋:預設檢視處於執行狀態下的容器,[-a]表示檢視所有狀態的容器例項: # 輸入docker ps的時候,看不到容器,因為都是停止狀態的 [yunweijia@localhost ~]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES # 加上引數 -a 之後,發現有兩個處於exited狀態的容器 [yunweijia@localhost ~]$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 325a97085854 centos:7 “/bin/bash” 8 minutes ago Exited (127) 5 minutes ago youthful_kowalevski 2d5c7e25517f hello-world “/hello” 43 hours ago Exited (0) 43 hours ago objective_rhodes [yunweijia@localhost ~]$

檢視容器詳細資訊

語法:docker inspect 容器ID 容器ID:即使用docker ps查看出來結果的第一列,就是容器ID例項: [yunweijia@localhost ~]$ sudo docker inspect 325a97085854

檢視容器日誌

語法:docker logs 容器ID 容器ID:即使用docker ps查看出來結果的第一列,就是容器ID例項: [yunweijia@localhost ~]$ sudo docker logs 325a97085854

後臺執行容器

需要有永久執行的程式,否則程式一旦停止,容器也將隨之停止。

語法:docker run -d 映象:版本號 bash環境 執行的程式例項: # 後面就加了一個永久執行的指令碼 [yunweijia@localhost ~]$ sudo docker run -d centos:7 /bin/bash -c “while true;do echo yunweijia; sleep 5; done” [yunweijia@localhost ~]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b47b053f66c2 centos:7 “/bin/bash -c ‘while…” 39 seconds ago Up 38 seconds goofy_mendeleev [yunweijia@localhost ~]$

進入後臺執行的容器

語法:docker exec -it 容器ID bash環境例項: [yunweijia@localhost ~]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b47b053f66c2 centos:7 “/bin/bash -c ’while…” 2 minutes ago Up 2 minutes goofy_mendeleev [yunweijia@localhost ~]$ sudo docker exec -it b47b053f66c2 /bin/bash [root@b47b053f66c2 /]#

停止後臺容器

語法:docker stop 容器ID # 正常停止 docker kill 容器ID # 強制停止例項: [yunweijia@localhost ~]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b47b053f66c2 centos:7 “/bin/bash -c ‘while…” 5 minutes ago Up 5 minutes goofy_mendeleev [yunweijia@localhost ~]$ sudo docker stop b47b053f66c2 b47b053f66c2 # 查不到了 [yunweijia@localhost ~]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES # 可以看到變成停止狀態了 [yunweijia@localhost ~]$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b47b053f66c2 centos:7 “/bin/bash -c ’while…” 6 minutes ago Exited (137) 8 seconds ago goofy_mendeleev 325a97085854 centos:7 “/bin/bash” 26 minutes ago Exited (127) 22 minutes ago youthful_kowalevski 2d5c7e25517f hello-world “/hello” 43 hours ago Exited (0) 43 hours ago objective_rhodes [yunweijia@localhost ~]$

啟動已停止容器

語法:docker start 容器ID例項: [yunweijia@localhost ~]$ sudo docker start b47b053f66c2 b47b053f66c2 [yunweijia@localhost ~]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b47b053f66c2 centos:7 “/bin/bash -c ‘while…” 7 minutes ago Up 3 seconds goofy_mendeleev [yunweijia@localhost ~]$

刪除容器

語法:docker rm 容器ID # 正常刪除 docker rm -f 容器ID # 強制刪除 docker rm -f 容器ID 容器ID # 批次刪除 注意:只能刪除處於停止狀態的容器例項: [yunweijia@localhost ~]$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b47b053f66c2 centos:7 “/bin/bash -c ’while…” 8 minutes ago Up About a minute goofy_mendeleev 325a97085854 centos:7 “/bin/bash” 28 minutes ago Exited (127) 25 minutes ago youthful_kowalevski 2d5c7e25517f hello-world “/hello” 43 hours ago Exited (0) 43 hours ago objective_rhodes [yunweijia@localhost ~]$ sudo docker rm 2d5c7e25517f 2d5c7e25517f [yunweijia@localhost ~]$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b47b053f66c2 centos:7 “/bin/bash -c ‘while…” 9 minutes ago Up About a minute goofy_mendeleev 325a97085854 centos:7 “/bin/bash” 29 minutes ago Exited (127) 25 minutes ago youthful_kowalevski [yunweijia@localhost ~]$

至此,本文結束。

下一章:commit構建自定義映象