phpIPAM を Podman で動かす構成を整理します。Web、cron、MariaDB を Pod にまとめ、IPAM 用のアプリケーション基盤として扱います。
参考
書籍
書籍
参考書籍
Kubernetes完全ガイド 第2版
Kubernetes、コンテナ、クラスタ運用、ネットワークまわりを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
構成
| MariaDB | phpIPAM のデータベース |
| phpipam-www | Web UI |
| phpipam-cron | 定期処理 |
| Capability | ホストスキャンに必要な権限を限定的に付与 |
Pod の作成
podman pod create --name phpipam-pod -p 10000:443
podman pod psデータ用ディレクトリ
sudo mkdir -p /opt/container/phpipam/data
sudo chown -R $USER:$USER /opt/container/phpipamMariaDB
podman run -d --pod phpipam-pod --name phpipam-mariadb -e MYSQL_ROOT_PASSWORD='change-me-root' -e MYSQL_DATABASE=phpipam -e MYSQL_USER=phpipam -e MYSQL_PASSWORD='change-me' -v /opt/container/phpipam/mariadb:/var/lib/mysql:Z docker.io/library/mariadb:10.11phpIPAM
podman run -d --pod phpipam-pod --name phpipam-www --cap-add NET_RAW --cap-add NET_ADMIN -e IPAM_DATABASE_HOST=127.0.0.1 -e IPAM_DATABASE_USER=phpipam -e IPAM_DATABASE_PASS='change-me' -e IPAM_DATABASE_NAME=phpipam docker.io/phpipam/phpipam-www:latest
podman run -d --pod phpipam-pod --name phpipam-cron --cap-add NET_RAW --cap-add NET_ADMIN docker.io/phpipam/phpipam-cron:latest確認
podman ps --pod
podman logs phpipam 2>/dev/null || true
curl -kI https://127.0.0.1:10000/systemd 化
常用する場合は Podman の generate systemd で unit 化します。
podman generate systemd --new --name phpipam-pod > container-phpipam-pod.service
sudo cp container-phpipam-pod.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now container-phpipam-pod.serviceまとめ
Podman で複数コンテナのアプリケーションを動かす場合、Pod 単位でネットワークをまとめると Docker Compose の構成を読み替えやすくなります。本番運用では secret、バックアップ、TLS、更新手順を別途設計します。
Ubuntu 22.04 Podman phpIPAM 環境構築


