在容器中运行服务

DockerIntermediate
立即练习

介绍

在本挑战中,你将在 Red Hat Enterprise Linux 系统上练习管理容器化服务。你的任务是为 Web 服务器构建一个自定义容器镜像,运行基于该镜像的容器,并确保可以从宿主机系统访问该服务。此练习涵盖了部署和管理容器化应用程序的基础技能,这是红帽认证系统管理员(RHCSA)的核心能力。

在容器中运行服务

在本挑战中,你将构建一个包含 Apache HTTP 服务器(httpd)的自定义容器镜像。你将创建一个由 Web 服务器提供服务的简单 HTML 文件,并从你的自定义镜像运行一个容器。最后,你将验证 Web 服务是否正常运行,并且可以从宿主机访问。

任务

  • 构建一个包含 Apache HTTP 服务器(httpd)的自定义容器镜像。
  • 创建一个由 Web 服务器提供服务的简单 HTML 文件。
  • 从你的自定义镜像运行一个容器并暴露 Web 服务。
  • 验证 Web 服务是否正常运行,并且可以从宿主机访问。

要求

  • 所有文件必须在 ~/project 目录下创建。
  • 创建一个使用 ubi9 基础镜像的 Dockerfile
  • Dockerfile 必须安装 httpd 软件包。
  • 创建一个 index.html 文件,其中包含嵌套在 <h1> 标签内的文本 Hello, World!
  • 构建容器镜像并将其标记(Tag)为 my-web-server
  • my-web-server 镜像在后台运行一个容器。
  • 容器必须命名为 my-web-server-run
  • 容器内的 Web 服务器必须监听端口 80,且该端口必须映射到宿主机的端口 8080

示例

成功启动容器后,在终端运行 curl localhost:8080 命令应该会产生类似如下的输出:

<html>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

总结

在本挑战中,你学习了如何在 Red Hat Enterprise Linux 系统上将服务容器化。你成功创建了一个 Dockerfile 来定义自定义环境,使用 podman 构建了容器镜像,并运行了一个容器来托管 Web 服务器。你还练习了验证运行中容器的状态以及测试其网络服务。这些都是现代应用部署和系统管理的基本技能。

✨ 查看解决方案并练习