概要
CentOS7にDockerをインストールしたサーバで、
RHEL8+NGINXのイメージをDockerfileで作成して、コンテナ起動するところまで記事にしたいと思います。
実行環境
実行環境は以下の通りです。
サーバ:1台
OS:CentOS Linux release 7.6.1810 (Core)
docker:19.03.1
また、RHEL8のベースイメージは、Red Hat社が公式に提供しているユニバーサルベースイメージ(UBI)として入手できるので、これを活用してイメージを作成したいと思います。UBIとして提供されている各種ベースイメージは全て無料で入手と再配布が可能です。詳細は以下のRed Hat公式マニュアルがありますので、興味のある方はご参照ください。
「第4章 Red Hat Universal Base イメージの使用 (標準、最小、ランタイム)」から読むといいと思います。
Dockerfileによるイメージ作成
さっそくDockerfileを紹介します。
FROM registry.access.redhat.com/ubi8/ubi:latest
# Install of NGINX
RUN yum update --disableplugin=subscription-manager -y \
&& rm -fr /var/cache/yum
RUN yum install --disableplugin=subscription-manager nginx -y \
&& rm -fr /var/cache/yum
CMD ["-g","daemon off;"]
ENTRYPOINT ["nginx"]
UBIイメージに追加でソフトウェアを追加する場合、サブスクリプション管理を無効にしておくと、確実に再配布することができます。subscription-manager
プラグインを無効にすると、ソフトウェアを追加する時、無料で入手可能なリポジトリのパッケージのみが使用できる状態になります。
では、Dockerfileでイメージ作成します。
# docker build -f Dockerfile -t rhel8-ubi/nginx .
Sending build context to Docker daemon 29.81MB
Step 1/5 : FROM registry.access.redhat.com/ubi8/ubi:latest
(略)
Successfully built 7399ce96786e
Successfully tagged rhel8-ubi/nginx:latest
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rhel8-ubi/nginx latest 7399ce96786e 18 seconds ago 276MB
コンテナを起動してNGINXへアクセスする
最後にdocker run
コマンドでコンテナを起動して、NGINXへアクセスします。
# docker run --name nginx0001 -h nginx0001 -p 8000:80 -d rhel8-ubi/nginx
d9a05d5e8f283d27a6db210018ddd76129dbade56b94993460b2fd490b65ed59
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d9a05d5e8f28 rhel8-ubi/nginx "nginx -g 'daemon of…" 10 seconds ago Up 9 seconds 0.0.0.0:8000->80/tcp nginx0001
あとは、Webブラウザを開いて、以下のURLへアクセスすると、
NGINXのTOP画面が表示されます。
以上で終わりです。
引用元
以下を参考に本記事を作成させていただきました。
コンテナーの構築、実行、および管理
CentOS 7とPodmanで触ってみようRed Hat UBI - ビルド編
Docker入門 CentOSとNginxでWebサーバー構築
最後ですが、上記引用元の「CentOS7とPodmanで触ってみようRed Hat UBI - ビルド編」では、CentOS7+Podmanの組み合わせによるDockerfile作成やコンテナ起動の記事ですが、本記事で紹介した通り、CentOS7+Dockerの組み合わせでも、registry.access.redhat.comにアクセスすることができます。
これによりRHEL8ベースイメージをdocker pull
することができますので、ぜひRHEL8を手軽に触りたい方は、これでコンテナ起動して操作してみては如何でしょうか。
※たしか記事の執筆者の方がツイートされてるのを拝見して利用させてもらいました。ありがとうございました。
以上です。