GestioIP を Podman で動かす構成を整理します。docker-compose の構成を Podman Pod に読み替え、MySQL とアプリケーションをひとまとまりにします。
参考
書籍
書籍
参考書籍
Kubernetes完全ガイド 第2版
Kubernetes、コンテナ、クラスタ運用、ネットワークまわりを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
構成
| MySQL | GestioIP のデータベース |
| GestioIP | IP アドレス管理アプリケーション |
| Nginx / TLS | 公開口の整理 |
| Pod | 関連コンテナを同じネットワーク名前空間で扱う |
Pod の作成
podman pod create --name gestioip-pod -p 10000:443
podman pod psデータ用ディレクトリ
sudo mkdir -p /opt/container/gestioip/data
sudo chown -R $USER:$USER /opt/container/gestioipMySQL
podman run -d --pod gestioip-pod --name gestioip-mysql -e MYSQL_ROOT_PASSWORD='change-me-root' -e MYSQL_DATABASE=gestioip -e MYSQL_USER=gestioip -e MYSQL_PASSWORD='change-me' -v /opt/container/gestioip/mysql:/var/lib/mysql:Z docker.io/library/mysql:5.7GestioIP
podman run -d --pod gestioip-pod --name gestioip -e MYSQL_HOST=127.0.0.1 -e MYSQL_DATABASE=gestioip -e MYSQL_USER=gestioip -e MYSQL_PASSWORD='change-me' docker.io/gestioip/gestioip:latest確認
podman ps --pod
podman logs gestioip 2>/dev/null || true
curl -kI https://127.0.0.1:10000/systemd 化
常用する場合は Podman の generate systemd で unit 化します。
podman generate systemd --new --name gestioip-pod > container-gestioip-pod.service
sudo cp container-gestioip-pod.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now container-gestioip-pod.serviceまとめ
Podman で複数コンテナのアプリケーションを動かす場合、Pod 単位でネットワークをまとめると Docker Compose の構成を読み替えやすくなります。本番運用では secret、バックアップ、TLS、更新手順を別途設計します。
Podman GestioIP 環境構築


