Part4 Docker指令:掌控容器的关键操作

37 阅读4分钟

本篇文章我们将专注于学习启动和停止容器等基本操作。这些操作虽然简单,却是深入理解和有效使用Docker的基石。无论是初学者还是有经验的开发者,这一部分都将打下扎实的基础。

本文涉及的技术名词: ContainerImageDocker命令

从本文开始, 我们将开始介绍一些重要的Docker命令和选项,如启动、停止容器等基本操作。这些命令是我们与容器进行交互的基础,掌握它们将使你在使用Docker时更加得心应手。让我们开始探索这些核心命令,逐步建立起对Docker的深刻理解吧。

启动一个容器: container run

$ docker container run [option] <image> [command]
$ docker run [option] <image> [command]

查看容器列表: container ls

$ docker container ls [option]
$ docker ps [option]
option含义应用场景
-a``--all显示所有容器查看包含未运行的容器

停止一个容器: container stop

$ docker container stop [option] <container>
$ docker stop [option] <container>

移除一个容器: container rm

$ docker container rm [option] <container>
$ docker rm [option] <container>
option含义应用场景
-f``--force强制一处容器同时执行终止和删除操作, 强制删除容器(包含在运行的容器)

以 Nginx 镜像为例

为了更好地理解如何操作容器,我们以 Nginx 镜像为例进行演示。Nginx 是一个流行的开源Web服务器,常用于反向代理和负载均衡。

首先,我们可以到 Docker Hub 上搜索 Nginx 镜像,并查看相关的镜像信息。Docker Hub 是一个存储和分发 Docker 镜像的中央仓库,你可以在这里找到官方的 Nginx 镜像及其详细说明,包括可用的标签、使用示例和配置选项。

一旦确定了要使用的 Nginx 镜像,接下来可以通过以下步骤来操作它:

  • 拉取 Nginx 镜像
  • 使用以下命令从 Docker Hub 拉取 Nginx 镜像:
$ docker pull nginx

然后我们执行docker image ls可以查看当前所有镜像列表, 找到仓库列是nginx的行

  • 启动 Nginx 容器
  • 使用以下命令从 Nginx 镜像启动一个新容器:
$ docker container run -d --name mynginx --publish 8088:80 nginx

为了更直观的感受到启动镜像后的效果, 我们使用--publish将主机的 8088 端口映射到容器的 80 端口这样我们就可以通过浏览器访问 http://localhost:8088 来查看 Nginx 的运行情况.

此时我们访问http://localhost:8088/ 就可以看到如下结果:

Nginx 容器本身并不是一个虚拟服务器,而是在启动的容器(隔离区)内部运行了一个名为 Nginx 的Web服务器。

现在我们已经从镜像启动了一个容器,当前的情况可以通过以下示意图来表示:

查看运行中的容器

$ docker container ls [option]

运行 docker container run 命令后,保持运行该命令的终端标签页不变,接下来我们可以打开一个新的终端标签页使用docker container ls 来检查容器列表。

终止运行中的容器

$ docker container stop [option] <container>

查看所有容器

运行docker container ls --all可以查看所有容器信息, 包含运行中和非运行中的

$ docker container ls --all

移除停止中的容器

运行docker container rm可以移除停止中的容器

$ docker container rm [option] <container>

强制删除容器

运行docker container rm --force可以强制移除容器, 包含运行中的

$ docker container rm --force <container>

ZSH Docker插件

Zsh 的 Docker 插件通过提供命令别名和快捷方式,帮助用户缩短和简化常用的 Docker 命令。使用该插件后,可以提高操作效率,减少输入量; 以下是使用 Zsh Docker 插件的常用别名及其中文描述表格:

别名命令描述
dbldocker build从 Dockerfile 构建镜像
dcindocker container inspect显示一个或多个容器的详细信息
dclsdocker container ls列出所有正在运行的容器
dclsadocker container ls -a列出所有运行中和已停止的容器
dibdocker image build从 Dockerfile 构建镜像(与 docker build相同)
diidocker image inspect显示一个或多个镜像的详细信息
dilsdocker image ls列出 Docker 镜像
dipudocker image push将镜像或存储库推送到远程注册表
dirmdocker image rm删除一个或多个镜像
ditdocker image tag给特定镜像添加名称和标签
dlodocker container logs获取 Docker 容器的日志
dncdocker network create创建一个新网络
dncndocker network connect将容器连接到网络
dndcndocker network disconnect将容器从网络断开
dnidocker network inspect返回一个或多个网络的信息
dnlsdocker network ls列出所有已知的网络,包括跨多主机的网络
dnrmdocker network rm删除一个或多个网络
dpodocker container port列出容器的端口映射或特定映射
dpudocker pull从注册表拉取镜像或存储库

总结

以下是常用的 Docker 容器管理命令总结:

  • 启动容器docker container run
  • 查看容器列表docker container ls
  • 停止正在运行的容器docker container stop
  • 删除已停止的容器docker container rm
  • 强制删除正在运行的容器docker container rm --force

这些命令可以帮助我们有效管理 Docker 容器,从启动、查看状态到停止和删除,涵盖了容器的整个生命周期。