docker 使用教程1-(Docker的常用操作)


本系列會做一個完整的Docker使用教程 
上一篇:docker的安裝、卸載、運行:https://www.cnblogs.com/easyidea/p/14210376.html

下一篇:docker安裝MySQL 8:https://www.cnblogs.com/easyidea/p/14218131.html

1、Docker概述

docker實際上是一種規范,就像集裝箱一樣,不管要運算的東西是什么都要裝在集裝箱里面運輸。這就是規范,這樣的規范使得碼頭的裝貨卸貨效率提升,也使得運輸船舶、運輸車輛的大小尺寸有了進一步的規范,從而使得在整個物流運輸過程中的效率得到提升。

docker的鏡像就是遵循這種規范的集裝箱,這樣就使得每個鏡像不管里面是什么軟件程序,無論在什么地方運行都是一樣的結果,這樣做的好處就是使得在運維部署的時候解決了環境不一致的問題。

docker采用容器化技術使得每個容器隔離開來,不會相互影響,因此使用docker可以運行多個 JDK、Nginx、mysql.....甚至還能運行操作系統,並且容器是直接運行在操作系統上面的所以大大節省了資源。

2、概念理解

鏡像:docker鏡像就像一個個模具。

容器:docker容器就是模具翻模出來的東西。

倉庫:倉庫就是存放模具的地方。

 

下面通過運行 hello-world 來理解 docker鏡像運行過程的操作流程:

 

 

 

流程分析:

 

 

 

3、操作命令:

①:拉取鏡像

(使用該命令會從遠程倉庫拉取鏡像到本地,並且如果本地已有該鏡像會覆蓋)

docker pull hello-world

 

②:運行鏡像

(使用該命令會創建新的容器,相當於每次執行會翻模一次,除了ID不同其他都相同)

(該命令如果本地沒有該鏡像的話執行該命令相當於:先后執行 pull+run 兩個命令)

docker run hello-world

 

③:查看本地的鏡像

docker images

執行上面的命令之后輸出如下:

鏡像名稱 版本 ID 創建時間 大小
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 12 months ago 13.3KB

 

 

 

 

 

④:查看正在運行的容器

(如果容器沒事可做會被docker關閉運行狀態,因為hello-world打印輸出之后就沒事可做了,所以執行下面的命令看不到hello-world容器)

docker container ls

簡化命令:docker ps 

 

⑥:查看所有容器

(下面的命令可以查看所有容器包括正在運行的、已經結束的)

docker container ls -a

簡化命令:docker ps -a

執行上面的命令輸出如下:

容器 ID 鏡像名稱 啟動容器時運行的命令 容器的創建時間 容器的狀態 容器的端口 容器名稱
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4d102af792af hello-world "/hello" About an hour ago Exited (0) About an hour ago   modest_robinson

 

 

 

⑤:刪除鏡像

(刪除鏡像要輸入鏡像ID,可以只輸入前一段能區分就行了)

docker image rm bf756

簡化命令:docker rmi bf756

執行上面的命令,如果出現 :Error response from daemon: conflict: unable to delete bf756fb1ae65 (must be forced) - image is being used by stopped container 4d102af792af

說明這個鏡像還在被容器依賴,這時要先刪除它創建的容器(包括已經停止的容器)才能刪除該鏡像,也可以強制刪除:

docker images rm -f bf756

 

 

⑦:刪除容器

(刪除容器和刪除鏡像差不多 ,輸入容器ID前幾位就行了)

docker container rm 4d102

簡化命令:docker rm 4d102

如果出現:Error response from daemon: You cannot remove a running container a7...... Stop the container before attempting removal or force remove

說明該容器正在運行需要先停止運行才能刪除,也可以強制刪除:

dockers container rm -f 4d102

簡化命令:docker rm -f 4d102

 

 

⑧:啟動容器

(啟動容器 ,輸入容器ID前幾位就行了。可以同時啟動多個ID ,空格分隔開來)

docker container start 4d102

簡化命令:docker start 4d102

 

⑨:停止容器

(停止容器 ,輸入容器ID前幾位就行了。可以同時啟動多個ID ,空格分隔開來)

docker container stop af749

簡化命令:docker stop af749

 

⑩:重啟容器

(重啟容器 ,輸入容器ID前幾位就行了。可以同時啟動多個ID ,空格分隔開來)

docker container restart af7451

簡化命令:docker restart af7451

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM