先日正式リリースされたAlmaLinuxについて、ESXi上の仮想マシンとしてインストールする手順を以下に記載した。
インストール手順や使い勝手は、当然RHEL 8やCentOS 8と遜色なく使えることは確認できていたので、今回はDockerコンテナとして使用するベースイメージをCentOSからAlmaLinuxに移行することにした。
具体的には、CentOSをベースイメージとしたSquid、Postfix、Unboundのコンテナ用のDockerfile
を流用し、ベースイメージのみCentOSからAlmaLinuxに変更を行うだけで、AlmaLinuxのコンテナが動作することの確認を行った。
環境
- Docker : 19.03.14
- コンテナ : Squid用コンテナ
ベースイメージ変更手順
1. AlmaLinuxのイメージを取得
AlmaLinuxのイメージ名をまずは入手するため、docker search
で検索してみる。いくつかイメージが表示されるが、「The official build of AlmaLinux OS」と記載されているalmalinux
が公式イメージとなる。なお、旧イメージとなるalmalinux/almalinux
は、DEPRECATION NOTICE
と記載がある通り非推奨イメージとなるので注意。
# docker search almalinux
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
almalinux/almalinux DEPRECATION NOTICE: This image is deprecated… 6
iloreto/almalinux AlmaLinux with Epel 1
almalinux The official build of AlmaLinux OS. 1 [OK]
roccqqck/almalinux-ssh almalinux openssh-server 0
~(以下略)~
Docker HubのURLは以下となる。
本イメージをdocker pull
で入手する。
# docker pull almalinux
Using default tag: latest
latest: Pulling from library/almalinux
6648a3e8296a: Pull complete
Digest: sha256:2b91d8dce1a9ab0fa770786fc83bd8b2ca0cb66e6bc34a4a692c685bdb78877d
Status: Downloaded newer image for almalinux:latest
docker.io/library/almalinux:latest
# docker images almalinux
REPOSITORY TAG IMAGE ID CREATED SIZE
almalinux latest 493af99fcc06 2 weeks ago 190MB
2. Dockerfile
を編集
CentOS用で作成済みのDockerfile
はそのまま流用できると想定し、以下★箇所に記載のFROM
のベースイメージ指定をcentos
からalmalinux
に修正する。
# cat Dockerfile
FROM almalinux ★
ENV TZ=Asia/Tokyo \
http_proxy=http://192.168.33.23:8080 \
https_proxy=http://192.168.33.23:8080
RUN dnf install squid -y
COPY squid.conf /etc/squid/
RUN /usr/sbin/squid -N -z
EXPOSE 8080
CMD ["/usr/sbin/squid", "-N", "-f", "/etc/squid/squid.conf"]
3. イメージをビルド
先ほど修正したDockerfileを使用して、docker build
でイメージをビルドする。特にエラーなく一発でイメージ作成が成功するはずだ。
# docker build -t almalinux-squid:1 .
Sending build context to Docker daemon 5.12kB
Step 1/7 : FROM almalinux
---> c2fc9360164e
Step 2/7 : ENV TZ=Asia/Tokyo http_proxy=http://192.168.33.23:8080 https_proxy=http://192.168.33.23:8080
---> Running in 2f389328fe79
Removing intermediate container 2f389328fe79
---> aeeb11d5bf8a
Step 3/7 : RUN dnf install squid -y
---> Running in 0a9131d735d2
determining the fastest mirror (91 hosts).. done.
AlmaLinux 8 - BaseOS 1.0 MB/s | 4.4 MB 00:04
AlmaLinux 8 - AppStream 1.7 MB/s | 6.9 MB 00:04
AlmaLinux 8 - PowerTools 798 kB/s | 2.1 MB 00:02
AlmaLinux 8 - Extras 6.2 kB/s | 3.6 kB 00:00
~(中略)~
Step 7/7 : CMD ["/usr/sbin/squid", "-N", "-f", "/etc/squid/squid.conf"]
---> Running in 8dd10f52851d
Removing intermediate container 8dd10f52851d
---> 45a92ef9bfe7
Successfully built 45a92ef9bfe7
Successfully tagged almalinux-squid:1
4. AlmaLinuxのコンテナを起動
docker run
で起動させると問題なく起動にも成功した。
# docker run -d -p 8080:8080 --name "almalinux-squid" -v /var/log/docker/almalinux-squid:/var/log/squid almalinux-squid:1
50204f614b2357739e090c2947769369942ae85d4a3d7b8faab9b01db17d9972
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
50204f614b23 almalinux-squid:1 "/usr/sbin/squid -N …" 3 seconds ago Up 2 seconds 0.0.0.0:8080->8080/tcp almalinux-squid
まとめ
AlmaLinuxはCentOS 8の代替ディストリビューションとしてリリースされたというだけあって、Dockerfile
に記載のベースイメージの変更を行うだけで、問題なくコンテナが起動することが確認できた。
本記事ではSquidのコンテナのみ実行結果を記載したが、PostfixやUnboundにおいても、ベースイメージ変更は問題なく実施できており、AlmaLinuxへの移行は簡単できることを確認できた。
更新履歴
- 2021/4/7 新規作成
- 2021/5/29 Docker Hubのイメージ名がalmalinuxに変更となったことに伴い、手順を更新
0 件のコメント:
コメントを投稿