手当たり次第に書くんだ

飽きっぽいのは本能

Podman GestioIP 環境構築

GestioIP を Podman で動かす構成を整理します。docker-compose の構成を Podman Pod に読み替え、MySQL とアプリケーションをひとまとまりにします。

構成

MySQLGestioIP のデータベース
GestioIPIP アドレス管理アプリケーション
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/gestioip

MySQL

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

GestioIP

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

コメントを残す

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

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

トップへ戻る