LoginSignup
5
6

More than 3 years have passed since last update.

RHEL8+nginxイメージの作成

Last updated at Posted at 2019-09-02

概要

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公式マニュアルがありますので、興味のある方はご参照ください。

■RHEL8-コンテナーの構築、実行、および管理

「第4章 Red Hat Universal Base イメージの使用 (標準、最小、ランタイム)」から読むといいと思います。

Dockerfileによるイメージ作成

さっそく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でイメージ作成します。

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画面が表示されます。

http://<DockerホストのIPアドレス>:8000

image.png

以上で終わりです。

引用元

以下を参考に本記事を作成させていただきました。

コンテナーの構築、実行、および管理
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を手軽に触りたい方は、これでコンテナ起動して操作してみては如何でしょうか。
※たしか記事の執筆者の方がツイートされてるのを拝見して利用させてもらいました。ありがとうございました。

以上です。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6