怎麼檢視軟體版本資訊
宣告:本文乃“運維家”原創,轉載請註明出處,更多內容請關注公眾號“運維家”。
主旨
本文主要介紹下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構建自定義映象