介绍
在本挑战中,你将在 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 服务器。你还练习了验证运行中容器的状态以及测试其网络服务。这些都是现代应用部署和系统管理的基本技能。



