Docker是一个容器化平台,通过操作系统级别的虚拟化技术,实现软件的打包和容器化运行。借助Docker,开发人员能够将应用程序以容器的形式进行部署,但在此之前需要构建Docker镜像。只要熟悉相关Docker命令,开发人员就能轻松完成所有这些步骤,从而实现应用程序的容器化部署。
本文将根据使用场景对 Docker 命令进行分类介绍。
构建 Docker 镜像需要使用 Dockerfile。假设有一个 Dockerfile,在与 Dockerfile 相同的目录中运行以下命令。
docker build -t tomcat-with-app:v1 .
给 Docker 镜像打标签需要运行以下命令:
docker tag <镜像 ID 或镜像名称> testuser/tomcat-with-app:v1
例如:docker tag tomcat-with-app:v1 testuser/tomcat-with-app:v1
首先,需要登录 Docker Hub,运行以下命令。前提是需要有 Docker Hub 账户。如果您还没有账户,请创建一个。
docker login
在推送到 Docker Hub 之前,需要使用 Docker Hub 用户名给镜像打标签。可以使用以下命令进行标签打标。
docker tag <镜像 ID 或镜像名称> testuser/tomcat-with-app:v1
现在,推送镜像:
docker push testuser/tomcat-with-app:v1
需要运行以下命令从公共镜像仓库(Docker Hub)拉取镜像:
docker pull <镜像名称>
例如:docker pull tomcat
运行以下命令从给定的镜像运行容器:
docker run -d -p <对外访问的端口>:<应用程序运行的端口> <镜像名称>
-d:用于以分离模式运行容器
-p:用于指定端口
例如:docker run -d -p 8080:8080 tomcat-with-app:v1
这将删除所有未使用的镜像。
docker image prune
docker image prune -a
获取镜像 ID:
docker images -a -q
可以使用以下命令根据 ID 删除所有镜像:
docker rmi $(docker images -a -q)
以下命令与前一个命令相同,但是在此处使用?-f?标志来强制删除。
docker rmi -f $(docker images -a -q)
例如,首先获取镜像的 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)
停止特定的容器:
docker stop <容器 ID>
删除所有已停止的容器:
docker container prune