适合初学者的 8 个基本 Docker 命令

核心要点

  • Docker pull: 此命令用于从 Docker Hub 或其他仓库下载已构建好的镜像,无需自行配置。
  • Docker run: 此命令从镜像启动一个新的容器。 可以使用选项让容器在后台运行或保持持续运行。
  • Docker ps: 此命令列出 Docker 容器及其详细信息,如容器 ID、镜像名称、创建时间、状态以及分配的端口等。

Docker 容器将应用程序的配置打包成一个独立的单元,使其能够在不同环境中无缝运行。

Docker 提供了一系列命令来执行各种操作。通过这些命令,用户可以轻松地创建、运行、停止、删除和管理 Docker 容器。

1. Docker 拉取 (docker pull)

使用 docker pull 命令从指定的注册中心下载 Docker 镜像。 Docker Hub 上有许多预先构建的镜像,用户可以直接使用,无需进行额外的配置。

这些镜像可以作为创建应用程序 Docker 容器的模板。 你也可以使用 docker pull 命令下载存储在仓库中的镜像。

以下是终端上提取镜像的语法:

 docker pull [选项] 名称[:标签|@摘要] 

如果没有指定镜像标签,Docker 会使用默认标签下载镜像。 例如,尝试拉取 Ubuntu 镜像:

 docker pull ubuntu 

你将会看到类似如下的输出:

要确认镜像是否成功拉取,可以使用以下命令:

 docker images 

你会看到镜像的详细信息,例如:

可以使用以下语法一次性拉取一个或多个镜像:

 docker image pull --all-tags ubuntu

运行 docker image pull --help 可以查看拉取镜像的更多选项。

2. Docker 运行 (docker run)

使用 docker run 命令从镜像启动一个新的 Docker 容器。容器是镜像的运行实例。 为了确保应用程序正常运行,需要使包含代码的容器运行起来。

运行容器的语法如下:

 docker run [选项] 镜像名称 [命令] [参数...] 

为了确保容器正在运行,你可以使用分离模式运行它。尝试使用分离模式运行 Ubuntu 镜像:

 docker run -d ubuntu:latest 

终端会输出一个代码,表明容器已成功启动,例如:

 8faa77f621f33473af6992c94a9e2d97c12b5c1d11a1c44897344ee862eec7e1 

通常情况下,容器运行一段时间后会停止。要使容器持续运行,可以使用 -t-tty 选项。

 docker run -d -t ubuntu:latest 

可以使用 docker ps 命令来检查正在运行的容器;你应该看到 Ubuntu 容器正在运行。 此外,你还可以找到有关如何以 Docker 容器形式运行 Ubuntu 的实用指南。

你还可以使用许多其他的选项来命名容器、添加卷以及创建容器端口。 相较于较大的容器,小容器运行得更快。 你应该尽量使用 Alpine 镜像或其他方法来减小镜像的大小。

使用命令 docker run --help 查看 docker run 的其他可用选项。

3. Docker 状态 (docker ps)

使用 docker ps 命令列出系统中的 Docker 容器。该命令提供容器的 ID、镜像、创建时间以及状态等信息。你还可以查看容器的状态以及分配给它的端口。

语法如下:

 docker ps [选项] 

你可以选择使用各种可用的选项来运行容器。 使用命令 docker ps --help 查看所有可用的选项。

例如,你可以使用 --quiet 选项以安静模式运行容器,或使用 --format 选项以特定的格式显示容器的详细信息。 还可以使用 --latest 选项运行带有最新标签的容器,或者使用 --size-s 运行特定大小的容器。

4. Docker 停止 (docker stop)

可以使用 docker stop 命令停止一个或多个正在运行的容器。 当某些容器不再使用或需要更新时,你可能需要停止它们。

语法如下:

 docker stop [选项] 容器 [容器...] 

可以使用容器 ID 号停止 Ubuntu 容器:

 docker stop 45404fe7b36e 

在终端上,你将会看到已停止容器的 ID。为了验证是否已停止,可以运行 docker ps 命令以列出正在运行的容器。 你将看到已停止的 Ubuntu 容器不再出现在列表中。

你还可以使用以下命令同时停止多个容器:

 docker stop 90148165353a 5f0de5ef4b2b 

要查看 docker stop 的选项,请运行 docker stop --help

5. Docker 启动 (docker start)

可以使用以下语法启动已停止的容器,使其继续运行:

 docker start [选项] 容器 [容器...]

例如,重新启动之前停止的 Ubuntu 容器:

 docker start 45404fe7b36e 

现在,你可以在正在运行的容器列表中看到该容器,如下图所示:

要查看 docker start 的选项,请运行 docker start --help

6. Docker 日志 (docker logs)

docker logs 命令用于检索正在运行的容器生成的日志。你可以使用日志来调试、监控和了解容器的行为。以下是 docker logs 命令的语法:

 docker logs [选项] 容器 

你可以使用选项从容器中检索特定信息。 这些信息可能包括流输出和特定时间戳等详细信息。 你可以过滤有关额外属性的日志和报告,例如环境变量。

例如,使用容器 ID,你可以检索带有 Ubuntu 容器时间戳的日志:

 docker logs --timestamps 45404fe7b36e 

你将在输出中看到时间戳:

 2023-08-21T13:10:31.979307895Z root@45404fe7b36e:/# 2023-08-21T13:51:27.442944740Z root@45404fe7b36e:/# 

运行 docker log --help 命令查看如何使用其他选项。

7. Docker 执行 (docker exec)

使用 docker exec 命令在容器内部执行命令。 docker exec 命令允许你与正在运行的容器的进程进行交互。你可以访问 shell 来进行故障排除和管理容器。

语法如下:

 docker exec [选项] 容器 命令 [参数...] 

首先,为了在 Ubuntu 容器中运行 docker exec,请确保容器正在运行。如果没有,可以使用 docker start 重新启动 [容器]。

然后运行以下命令:

 docker exec -it 45404fe7b36 /bin/bash 

你将看到 docker 在容器内部打开了一个 shell。

 root@45404fe7b36e:/# 

从 shell 中,你可以在容器内部运行其他命令。

8. Docker 推送 (docker push)

Docker push 是最重要的 Docker 命令之一。 它用于将镜像从本地系统推送到在线 Docker 仓库。

在 Docker Hub 上存储镜像的好处之一是可以在任何地方检索它们。 注册中心允许用户共享镜像并与他人协作。

运行此命令的语法如下:

 docker push [选项] 名称[:标签] 

尝试将 Ubuntu 镜像推送到 Docker Hub 以演示它的使用。你必须已经注册了 Docker Hub 账户。

首先,在终端上登录你的 docker 引擎。 接下来,你应该使用引用在线仓库的新名称重命名要推送的镜像。 然后,你可以将重命名的镜像推送到 Docker Hub。 你可以通过在 Docker 仓库中托管应用程序来学习推送的实际步骤。

高级 Docker 命令

Docker 还有更高级的概念,如 Docker Compose 和 Docker Swarm。 这些工具能够帮助管理具有多个容器的复杂应用程序的配置。 你可以探索与这些工具相关的命令以提高你的 Docker 技能。