AlmaLinux9+apacheのイメージを作ってみる。
podmanの使い方としては、
- mariaDBコンテナ
- apacheコンテナ
とした方が良いかなと思うから。
FROM almalinux:latest
RUN dnf -y update
RUN dnf -y install httpd
#COPY httpd.conf /etc/httpd/conf/httpd.conf
RUN systemctl enable httpd
#
RUN dnf clean all;
EXPOSE 80 443
CMD [ "/sbin/init" ]
を作って
$ podman build -t almalinux9_apache .
STEP 1/7: FROM almalinux:latest
STEP 2/7: RUN dnf -y update
--> Using cache a2b577abfca6c6300e9f168092f69ba20ea7a88d6149f315be56de91a4380bf7
--> a2b577abfca6
STEP 3/7: RUN dnf -y install httpd
Last metadata expiration check: 21:24:28 ago on Wed Apr 2 17:57:08 2025.
・・・
Installed:
almalinux-logos-httpd-90.5.1-1.1.el9.noarch
apr-1.7.0-12.el9_3.x86_64
apr-util-1.6.1-23.el9.x86_64
apr-util-bdb-1.6.1-23.el9.x86_64
apr-util-openssl-1.6.1-23.el9.x86_64
httpd-2.4.62-1.el9_5.2.x86_64
httpd-core-2.4.62-1.el9_5.2.x86_64
httpd-filesystem-2.4.62-1.el9_5.2.noarch
httpd-tools-2.4.62-1.el9_5.2.x86_64
libbrotli-1.0.9-7.el9_5.x86_64
mailcap-2.1.49-5.el9.noarch
mod_http2-2.0.26-2.el9_4.1.x86_64
mod_lua-2.4.62-1.el9_5.2.x86_64
Complete!
--> 76f7cccc93f3
STEP 4/7: RUN systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
--> 8071a49560fc
STEP 5/7: RUN dnf clean all;
26 files removed
--> 9cde52251b3b
STEP 6/7: EXPOSE 80 443
--> 91aa7de1ab1c
STEP 7/7: CMD [ "/sbin/init" ]
COMMIT almalinux9_apache
--> 1d4a7b70300c
Successfully tagged localhost/almalinux9_apache:latest
1d4a7b70300c7fda2a4dfea9dd5e02a5645a4e9236e326543838e9ffe3351af3
ではコンテナを作成
# podman run -d -it --name almalinux9_apache_contener_work \
-p 80:80 \
almalinux9_apache
603e81035435f7078243160754c72c621324151e3ccb0e1dd80d5f4d1e1362f0
ログも異常なし。
コンテナ内の
- /etc/httpd/conf
- /etc/httpd/conf.d
- /var/www
を圧縮して取り出してホストの各保存ディレクトリィに展開しコンテナを作り直し
# podman run -d -it --name almalinux9_apache_contener \
-p 8080:80 \ ※80:80だとエラるので8080
-v '/{www保存ディレクトリィ※事前作成済}:/var/www' \
-v '/{conf保存ディレクトリィ※事前作成済}:/var/conf' \
-v '/{conf.d保存ディレクトリィ※事前作成済}:/var/conf.d' \
almalinux9_apache
7b6fe5be65cedc24e4821f9edb2246ba7444d0f953d1b0185ded091083acae8a
# firewall-cmd --add-port=8080/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --list-all ※設定内容の確認
これでホスト側で設定やコンテンツを編集しやすくなった(笑
# podman exec almalinux9_apache_contener systemctl reload httpd
# podman exec almalinux9_apache_contener systemctl restart httpd
は長いからコンテナの停止・起動でいいや