七个杀手级Docker命令

云计算 云原生
借助Docker,开发人员能够将应用程序以容器的形式进行部署,但在此之前需要构建Docker镜像。只要熟悉相关Docker命令,开发人员就能轻松完成所有这些步骤,从而实现应用程序的容器化部署。

Docker是一个容器化平台,通过操作系统级别的虚拟化技术,实现软件的打包和容器化运行。借助Docker,开发人员能够将应用程序以容器的形式进行部署,但在此之前需要构建Docker镜像。只要熟悉相关Docker命令,开发人员就能轻松完成所有这些步骤,从而实现应用程序的容器化部署。

本文将根据使用场景对 Docker 命令进行分类介绍。

1 构建 Docker 镜像

构建 Docker 镜像需要使用 Dockerfile。假设有一个 Dockerfile,在与 Dockerfile 相同的目录中运行以下命令。

docker build -t tomcat-with-app:v1 .

2 给 Docker 镜像打标签

给 Docker 镜像打标签需要运行以下命令:

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 账户。如果您还没有账户,请创建一个。

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

6.1 使用 ID 删除镜像

获取镜像 ID:

docker images -a -q

可以使用以下命令根据 ID 删除所有镜像:

docker rmi $(docker images -a -q)

以下命令与前一个命令相同,但是在此处使用 -f 标志来强制删除。

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
责任编辑:武晓燕 来源: Java学研大本营
相关推荐

2023-11-01 18:01:02

改进WakaTime编程

2023-11-06 18:06:00

Docker容器

2023-11-03 18:01:59

Docker开源平台

2023-12-06 18:06:37

Git开发

2021-11-17 15:28:06

LinuxLinux命令

2022-05-19 15:51:35

开源笔记

2021-11-22 12:13:54

Linuxwget 命令

2010-03-04 15:00:12

Linux毁坏命令

2022-12-19 10:10:07

GDB命令

2024-07-23 08:59:17

Set开发前端

2023-07-12 23:41:04

Linuxfind

2010-09-10 12:07:32

重点网络协议

2018-12-06 10:17:10

2009-02-03 08:23:35

Linux命令安全

2023-09-20 09:00:00

2022-10-20 15:16:23

JavaScript数组技能

2024-08-13 00:23:48

2023-12-03 18:26:25

IDEA插件

2015-08-13 10:50:34

2023-10-07 18:03:18

Code插件WSL
点赞
收藏

51CTO技术栈公众号