运行你的第一个容器

DockerBeginner
立即练习

介绍

欢迎参加「运行你的第一个容器」挑战!你已经学习了如何运行 hello-world 容器。现在,让我们更进一步,运行一个更有趣的容器。在这个挑战中,你将运用新掌握的 Docker 技能来运行一个显示有趣信息的容器。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是跟随实验步骤学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初学者 级别的挑战,通过率为 94%。它获得了学习者 99% 的好评率。

运行新容器

任务

你的任务非常简单:

  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

注意:在点击「继续」按钮之前,请不要退出终端。

✨ 查看解决方案并练习

总结

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