运行你的第一个容器

DockerDockerBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

欢迎来到「运行你的第一个容器」挑战!你已经学会了如何运行 hello-world 容器。现在,让我们更进一步,运行一个不同的、有趣的容器。在这个挑战中,你将使用新学到的 Docker 技能来运行一个显示有趣消息的容器。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") subgraph Lab Skills docker/run -.-> lab-388943{{"运行你的第一个容器"}} end

运行一个新容器

任务

你的任务很简单:

  1. 基于 docker/getting-started 镜像运行一个 Docker 容器。

要求

要完成这个挑战,你必须:

  1. 使用 docker run 命令启动容器。
  2. 使用镜像 docker/getting-started
  3. ~/project 目录下执行命令。

示例

当你成功运行容器时,你应该会看到一些关于 Docker 的信息输出。

如果你看到关于 /docker-entrypoint.d/ 目录不为空的警告信息,不用担心。

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/10/29 09:26:17 [notice] 1#1: using the "epoll" event method
2024/10/29 09:26:17 [notice] 1#1: nginx/1.23.3
2024/10/29 09:26:17 [notice] 1#1: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
2024/10/29 09:26:17 [notice] 1#1: OS: Linux 5.15.0-56-generic
2024/10/29 09:26:17 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024/10/29 09:26:17 [notice] 1#1: start worker processes
2024/10/29 09:26:17 [notice] 1#1: start worker process 31
2024/10/29 09:26:17 [notice] 1#1: start worker process 32

你可以打开一个新的终端窗口,使用 docker ps 命令来验证容器是否正在运行。

docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS          PORTS     NAMES
f3f3b3b3b3b3   docker/getting-started   "/docker-entrypoint.…"   1 minute ago   Up 1 minute   80/tcp   festive_mendel

注意:在点击 Continue 按钮之前,请不要退出终端。

✨ 查看解决方案并练习

总结

在这个挑战中,你通过运行一个新容器扩展了你的 Docker 技能。你使用了 docker run 命令从 docker/getting-started 镜像启动了一个容器,该容器展示了关于 Docker 的一些介绍性信息。这个练习巩固了你对如何使用 Docker 运行容器的理解,并向你介绍了一个新的、信息丰富的 Docker 镜像。这是一个很好的方式,展示了 Docker 如何快速访问和运行预配置的应用程序。继续探索不同的 Docker 镜像,以持续扩展你的容器化技能!