Docker是一個容器化平臺,通過操作系統(tǒng)級別的虛擬化技術(shù),實現(xiàn)軟件的打包和容器化運行。借助Docker,開發(fā)人員能夠?qū)?yīng)用程序以容器的形式進(jìn)行部署,但在此之前需要構(gòu)建Docker鏡像。只要熟悉相關(guān)Docker命令,開發(fā)人員就能輕松完成所有這些步驟,從而實現(xiàn)應(yīng)用程序的容器化部署。
本文將根據(jù)使用場景對 Docker 命令進(jìn)行分類介紹。
1 構(gòu)建 Docker 鏡像
構(gòu)建 Docker 鏡像需要使用 Dockerfile。假設(shè)有一個 Dockerfile,在與 Dockerfile 相同的目錄中運行以下命令。
docker build -t Tomcat-with-App:v1 .
2 給 Docker 鏡像打標(biāo)簽
給 Docker 鏡像打標(biāo)簽需要運行以下命令:
docker tag <鏡像 ID 或鏡像名稱> testuser/tomcat-with-app:v1
例如:docker tag tomcat-with-app:v1 testuser/tomcat-with-app:v1
3 將鏡像推送到 Docker Hub
首先,需要登錄 Docker Hub,運行以下命令。前提是需要有 Docker Hub 賬戶。如果您還沒有賬戶,請創(chuàng)建一個。
docker login
在推送到 Docker Hub 之前,需要使用 Docker Hub 用戶名給鏡像打標(biāo)簽。可以使用以下命令進(jìn)行標(biāo)簽打標(biāo)。
docker tag <鏡像 ID 或鏡像名稱> testuser/tomcat-with-app:v1
現(xiàn)在,推送鏡像:
docker push testuser/tomcat-with-app:v1
4 從 Docker Hub 拉取 Docker 鏡像
需要運行以下命令從公共鏡像倉庫(Docker Hub)拉取鏡像:
docker pull <鏡像名稱>
例如:docker pull tomcat
5 使用 Docker 鏡像運行容器
運行以下命令從給定的鏡像運行容器:
docker run -d -p <對外訪問的端口>:<應(yīng)用程序運行的端口> <鏡像名稱>
-d:用于以分離模式運行容器
-p:用于指定端口
例如:docker run -d -p 8080:8080 tomcat-with-app:v1
6 刪除鏡像
這將刪除所有未使用的鏡像。
docker image prune
docker image prune -a
6.1 使用 ID 刪除鏡像
獲取鏡像 ID:
docker images -a -q
可以使用以下命令根據(jù) ID 刪除所有鏡像:
docker rmi $(docker images -a -q)
以下命令與前一個命令相同,但是在此處使用 -f 標(biāo)志來強制刪除。
docker rmi -f $(docker images -a -q)
6.2 刪除特定的 Docker 鏡像
例如,首先獲取鏡像的 ID。
ubuntu@linux01:~$ docker images -a -q testuser/tomcat-with-app2:v1
輸出:
7a2f1e6fbbc3
上述命令打印了鏡像 testuser/tomcat-with-app2:v1 的 ID。
要刪除此鏡像,可以直接使用以下命令:
docker rmi -f $(docker images -a -q testuser/tomcat-with-app2:v1)
7 刪除容器
停止特定的容器:
docker stop <容器 ID>
刪除所有已停止的容器:
docker contAIner prune