Запуск сервиса внутри контейнера

DockerIntermediate
Практиковаться сейчас

Введение

В этом испытании вы закрепите навыки управления контейнеризированными сервисами в среде Red Hat Enterprise Linux. Ваша задача — создать собственный образ контейнера для веб-сервера, запустить контейнер на основе этого образа и обеспечить доступность сервиса с хост-системы. Данное упражнение охватывает фундаментальные навыки развертывания и управления приложениями в контейнерах, что является ключевой компетенцией системного администратора Red Hat (RHCSA).

Запуск сервиса внутри контейнера

В ходе этого задания вы создадите кастомный образ контейнера, включающий HTTP-сервер Apache (httpd). Вам нужно будет подготовить простой HTML-файл, который будет обслуживаться веб-сервером, и запустить контейнер из созданного образа. В завершение вы проверите работоспособность веб-сервиса и его доступность из основной системы.

Задачи

  • Собрать собственный образ контейнера с установленным HTTP-сервером Apache (httpd).
  • Создать простой HTML-файл для отображения веб-сервером.
  • Запустить контейнер из вашего образа и пробросить порт для доступа к веб-сервису.
  • Убедиться, что веб-сервис работает корректно и доступен с хоста.

Требования

  • Все файлы должны быть созданы в директории ~/project.
  • Создайте Dockerfile, использующий базовый образ ubi9.
  • В Dockerfile должна быть прописана установка пакета httpd.
  • Создайте файл index.html, содержащий текст Hello, World! внутри тега <h1>.
  • Соберите образ контейнера и присвойте ему тег my-web-server.
  • Запустите контейнер в фоновом режиме на основе образа my-web-server.
  • Контейнеру необходимо присвоить имя my-web-server-run.
  • Веб-сервер внутри контейнера должен прослушивать порт 80, который необходимо сопоставить с портом 8080 на хост-машине.

Пример

После успешного запуска контейнера выполнение команды curl localhost:8080 в терминале должно вывести результат, похожий на этот:

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

Резюме

В этом испытании вы научились контейнеризировать сервис в системе Red Hat Enterprise Linux. Вы успешно создали Dockerfile для настройки кастомной среды, собрали образ контейнера с помощью podman и запустили контейнер для работы веб-сервера. Также вы закрепили навыки проверки состояния запущенных контейнеров и тестирования сетевых сервисов. Эти навыки являются базовыми для современного развертывания приложений и системного администрирования.

✨ Проверить решение и практиковаться