はじめに
このチャレンジでは、Red Hat Enterprise Linux システム上でのコンテナ化されたサービスの管理を実践します。あなたのタスクは、Web サーバー用のカスタムコンテナイメージを構築し、そのイメージに基づいてコンテナを実行し、ホストシステムからサービスにアクセスできることを確認することです。この演習は、Red Hat 認定システム管理者(RHCSA)のコアコンピテンシーである、コンテナでのアプリケーションのデプロイと管理に関する基本的なスキルを網羅しています。
コンテナ内でのサービス実行
このチャレンジでは、Apache HTTP Server(httpd)を含むカスタムコンテナイメージを構築します。Web サーバーによって配信されるシンプルな HTML ファイルを作成し、カスタムイメージからコンテナを実行します。最後に、Web サービスが正しく動作しており、ホストからアクセス可能であることを検証します。
タスク
- Apache HTTP Server(
httpd)を含むカスタムコンテナイメージを構築する。 - Web サーバーで公開するためのシンプルな HTML ファイルを作成する。
- カスタムイメージからコンテナを実行し、Web サービスを公開する。
- Web サービスが正しく動作し、ホストからアクセスできることを確認する。
要件
- すべてのファイルは
~/projectディレクトリ内に作成すること。 ubi9ベースイメージを使用するDockerfileを作成すること。Dockerfile内でhttpdパッケージをインストールすること。<h1>タグ内にHello, World!というテキストを含むindex.htmlファイルを作成すること。- コンテナイメージをビルドし、
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 サーバーをホストするためのコンテナを実行することに成功しました。また、実行中のコンテナの状態を確認し、ネットワークサービスをテストする実習も行いました。これらは、現代のアプリケーションデプロイとシステム管理において不可欠なスキルです。



