第6章 アプリケーション例
6.1. Red Hat Enterprise Linux 7 ホストシステム上での Red Hat Enterprise Linux 6 プラットフォームイメージのインストール
6.1.1. 概要
このセクションでは、Red Hat Enterprise Linux 7 を Docker フォーマットのコンテナーのホストシステムとして使用する方法について説明します。サブスクリプションマネージャーツールを使用して Red Hat Enterprise Linux 7 サーバーをインストールし、システムを登録します。
このトピックでは、Red Hat Enterprise Linux 7 サーバーホストシステムのインストール後に Red Hat Enterprise Linux 6 プラットフォームイメージをインストールするステップについて説明します。Red Hat Enterprise Linux のインストール方法についての詳細は、『Red Hat Enterprise Linux 7 インストールガイド』を参照してください。
6.1.2. Docker サービスのインストールおよびプラットフォームイメージの取得
以下の手順は、root ユーザーとして実行する必要があります。
Red Hat Enterprise Linux 7 サーバーをインストールした後に、以下のコマンドを使用してシステムを登録します。
# subscription-manager register --auto-attach
Docker および docker-registry パッケージを含む RHEL Extras リポジトリーを有効にします。
# subscription-manager repos --enable=rhel-7-server-extras-rpms # subscription-manager repos --enable=rhel-7-server-optional-rpms
または http://rhn.redhat.com に移動し、ここから RHEL Extras チャンネルをサブスクライブします。
docker パッケージのインストール:
# yum install docker
docker サービスの有効化および起動:
# systemctl enable docker # systemctl start docker
以下のコマンドを実行してサービスが実行中であることを確認できます。
# systemctl status docker docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled) Active: active (running) since Fri 2015-05-22 12:03:34 CEST; 3h 19min ago Docs: http://docs.docker.com Main PID: 843 (docker) CGroup: /system.slice/docker.service └─843 /usr/bin/docker -d --selinux-enabled以下のコマンドを使用して、Red Hat Docker Registry から Red Hat Enterprise Linux 6 プラットフォームイメージをダウンロードします。
# docker pull registry.access.redhat.com/rhel6
以下のコマンドで、システムで利用可能なイメージを一覧表示します。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE registry.access.redhat.com/rhel6 6.6 f5f0b338bbd6 9 weeks ago 155.6 MB registry.access.redhat.com/rhel6 latest f5f0b338bbd6 9 weeks ago 155.6 MB
/etc/redhat-release ファイルの内容を確認し、RHEL6 イメージが RHEL7 ホストシステムにあることを確認します。最初に、ホストシステムで以下を実行します。
# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo)
次に、再びホストシステムからプラットフォームコンテナーイメージを確認します (コンテナーイメージにログインする必要はありません)。
# docker run rhel6 cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.6 (Santiago)
上記は RHEL6 プラットフォームイメージが RHEL7 ホストシステムに正常にダウンロードされ、そのイメージを使用することができることを示しています。
6.1.3. 例: コンテナーに Apache Web Server を構築する
このセクションでは、RHEL6 プラットフォームイメージを使用して Apache Web Server をインストールする方法について説明します。
Dockerfile の確認: 以下のコンテンツを使用して Dockerfile を作成します。
+
# Using RHEL 6 platform image and Apache Web server
# Version 1
# Pull the rhel image from the local registry
FROM rhel6:latest
USER root
MAINTAINER Maintainer_Name
# Disable repos
RUN yum -y install deltarpm yum-utils --disablerepo=*-eus-* --disablerepo=*-htb-* \
--disablerepo=*-ha-* --disablerepo=*-rt-* --disablerepo=*-lb-* --disablerepo=*-rs-* --disablerepo=*-sap-*
RUN yum-config-manager --disable *-eus-* *-htb-* *-ha-* *-rt-* *-lb-* *-rs-* *-sap-* > /dev/null
# Update image
RUN yum install httpd -y
# Create Apache content
RUN echo "Help! I am trapped inside a container!" > /var/www/html/index.html
EXPOSE 80
# Start the service
CMD ["-D", "FOREGROUND"]
ENTRYPOINT ["/usr/sbin/httpd"]+ MAINTAINER 行を変更してユーザーの名前を追加します。
コンテナーの構築: Dockerfile を含むディレクトリーから、以下のコマンドを実行します。
# docker build -t rhel6apache .
コンテナーの起動: コンテナーイメージを起動するには、以下のコマンドを実行します。
# docker run -d -p 80:80 --name=rhel6apache rhel6apache
インストールのテスト: Web サーバーをテストします。
# curl http://localhost/index.html Help! I am trapped inside a container!

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.