引言
Docker是一个容器化平台,提供操作系统级别的虚拟化功能,可帮助开发人员将软件打包并以容器形式运行。通过将应用程序打包为Docker容器的方式,可以更加方便地创建和管理Docker镜像,容器化技术使得软件的部署和环境隔离变得简单而高效。因此,开发人员应该学习和掌握Docker命令,以便能够高效地进行容器化部署和镜像管理。
1 构建Docker镜像
构建Docker镜像,需要一个Dockerfile。假设有一个Dockerfile,在与Dockerfile相同的目录中运行以下命令:
docker build -t tomcat-with-app:v1 .
2 为Docker镜像打标签
要为任何Docker镜像打标签,需要运行以下命令:
docker tag <image id or image name> testuser/tomcat-with-app:v1
例如:docker tag tomcat-with-app:v1 testuser/tomcat-with-app:v1
3 将镜像推送到Docker Hub
首先,登录到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
4 从Docker Hub拉取Docker镜像
运行以下命令从公共镜像仓库(Docker Hub上)拉取任何镜像:
docker pull <镜像名称>
例如:docker pull tomcat
5 使用Docker镜像运行容器
运行以下命令从给定的镜像中运行容器:
docker run -d -p <外部访问端口>:<应用程序运行端口> <镜像名称>
-d:用于以分离模式运行容器
-p:用于指定端口
例如:docker run -d -p 8080:8080 tomcat-with-app:v1
6 删除镜像
删除所有未使用的镜像。
docker image prune
docker image prune -a
使用ID删除镜像
获取镜像的ID
docker images -a -q
可以使用以下命令根据ID删除所有镜像:
docker rmi $(docker images -a -q)
以下命令与前一个命令相同,但是这里使用-f标志来强制删除。
docker rmi -f $(docker images -a -q)
删除特定的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 <container ID>
删除所有已停止的容器
docker container prune