手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 Podman phpIPAM 環境構築

phpIPAM を Podman で動かす構成を整理します。Web、cron、MariaDB を Pod にまとめ、IPAM 用のアプリケーション基盤として扱います。

構成

MariaDBphpIPAM のデータベース
phpipam-wwwWeb 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/phpipam

MariaDB

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.11

phpIPAM

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 環境構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る