【無料】CentOS7上のDockerにRHEL7のコンテナを構築する方法

【無料で利用できる】CentOS7上のDockerにRHEL7のコンテナを構築する方法

勉強やテスト環境作成の目的などで「RHEL(Red Hat Linux Enterprise)の環境を無料で利用してみたい!」という人向けに解説します。

結論は、CentOSやUbuntuで動作するDockerなどのコンテナ環境であれば可能です。

【無料】CentOS7上のDockerにRHEL7のコンテナを構築する方法

環境

  • ホストOS:Windows10 Pro
  • ゲストOS:CentOS7(Dockerをインストール済み)
    ※CentOS7はVirtualBoxとVagrantで構築

Docker HubにRedHatの公式イメージはない

docker search コマンドでDocker Hub からRedHatのイメージを確認することはできます。
ですが、いずれも公式のイメージではありません。

$ docker search rhel
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
richxsl/rhel7                      RHEL 7 image with minimal installation          30
gidikern/rhel-oracle-jre           RHEL7 with jre8u60                              8                                       [OK]
roboxes/rhel6                      A generic Red Hat Enterprise Linux (RHEL) 6 …   5
:
$
$$ docker search redhat
NAME                                       DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
hjd48/redhat                               redhat6.3x86-64 images                          16
fbascheper/redhat-jboss-eap                Extensible RedHat JBoss EAP                     13
yjjy0921/redhat7.2                         A clean redhat 7.2 image from official redha…   6
:

RedHat社の公式サイトでコンテナイメージを取得するDockerコマンドを確認

では、RedHat公式のコンテナイメージはないのかと思ってたら、探したらありました。

RedHat公式サイトでコンテナイメージが公開されてます。
https://catalog.redhat.com/software/containers/search

RHEL7( Red Hat Enterprise Linux 7 )のコンテナイメージの箇所をクリックします。

RHEL7のコンテナ

以下のリンクより、Dockerのイメージを pull するコマンドの説明が確認できます。
https://catalog.redhat.com/software/containers/rhel7/57ea8cee9c624c035f96f3af?container-tabs=gti&gti-tabs=unauthenticated

[Get This Image] → [Unauthenticated] のタブをクリックして下の方にスクロールします。

RedHatのDockerイメージをpull

Dockerのコマンドをコピーして、CentOS7上で実行します。

RHEL7のコンテナイメージをpullするDockerコマンド

CentOS7でRHEL7のコンテナを構築

CentOS7上で、docker pull コマンドを実行し、RHEL7のイメージを取得します。

$ docker pull registry.access.redhat.com/rhel7
Using default tag: latest
latest: Pulling from rhel7
:
Status: Downloaded newer image for registry.access.redhat.com/rhel7:latest
registry.access.redhat.com/rhel7:latest

docker images でRHEL7のイメージを取得できたことが確認できます。

$ docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
registry.access.redhat.com/rhel7   latest              e5c8519c1423        7 days ago          205MB

docker run コマンドで、コンテナの作成・起動を実行。RHEL7のコンテナを起動することができました。

$ docker run -it e5c8519c1423
[root@17f0c15de73a /]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)

RedHatのコンテナイメージを無料で使えるUBI(Universal Base Image)

今回、構築したコンテナイメージは、Red Hat UBI (Red Hat Universal Base Image)をベースにしてます。

Red Hat UBIは、今回のように、CentOSのDokcer上で使用する分には無料で利用できますので、サブスクリプションは不要です。
以下の記事が参考になります。

参考記事:
自由に再配布可能なRed Hat Enterprise Linux 8ベースのコンテナ用OSイメージ「Red Hat Universal Base Image」が公開
Q&Aでわかる Red Hat Universal Base Image でどこまでやっていい? / ubi_faq

まとめ

  • DockerでRedHat公式のコンテナを無料で構築できる
    →無料で使える条件:RHEL以外のディストリビューション(CentOSやUbuntu)で動作するDockerなどのコンテナ環境
  • 勉強用にRHELの環境を構築したい人などには便利