Table of Contents
PodmanでRedmine+ホストで稼働するMySQLを構築
podmanのネットワーク確認
# podman network ls
# podman network inspect podman | grep -e 'gateway' -e 'subnet'
"gateway": "10.88.0.1",
"subnet": "10.88.0.0/16"
MySQLの設定
インストールは、MySQL参照
アドレスは、podmanのネットワーク確認のsubnetを参考にセグメントを指定
# mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'hoge'@'10.88.0.%' IDENTIFIED BY '(パスワード)';
GRANT ALL PRIVILEGES ON redmine.* TO 'hoge'@'10.88.0.%';
RedmineとDBの公式イメージを取得
# podman pull docker.io/library/redmine:4.2.4
作業フォルダを作成
# mkdir /usr/local/redmine
# cd /usr/local/redmine
永続化用のフォルダ作成
# mkdir -p /usr/local/redmine/data/plugins
# mkdir -p /usr/local/redmine/data/files
# mkdir -p /usr/local/redmine/data/themes
Pod を作成
# podman pod create -p 3000:3000 --name redmine-pod
066d26409b1d91b22942aa806523e060413a61187594440b54a6233772c9d9f9
3000番はRedmine用のLISTENポート番号です。
Readmineのコンテナ作成
REDMINE_DB_MYSQLにMySQLが稼働するホストのアドレスを指定
podman run --name=redmine -d --pod redmine-pod \
--env='REDMINE_DB_MYSQL=192.168.1.7' \
--env='REDMINE_DB_USERNAME=hoge' \
--env='REDMINE_DB_PASSWORD=(パスワード)' \
-v /usr/local/redmine/data/plugins:/usr/src/redmine/plugins \
-v /usr/local/redmine/data/themes:/usr/src/redmine/public/themes \
-v /usr/local/redmine/data/files:/usr/src/redmine/files \
docker.io/library/redmine:4.2.4
※コンテナのIPアドレスを「--network podman --ip=10.89.0.51
」で固定化できるか、試みたが期待した動作をしなかったので断念
結果を確認
# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e98c4e319c3a k8s.gcr.io/pause:3.5 29 minutes ago Up 12 minutes ago 0.0.0.0:3000->3000/tcp 066d26409b1d-infra
517b081e0e12 docker.io/library/redmine:4.2.4 rails server -b 0... 32 seconds ago Up 32 seconds ago 0.0.0.0:3000->3000/tcp redmine
LOGを確認
# podman logs redmine
systemd のUNITファイルを生成する
# cd /etc/systemd/system
# podman generate systemd --restart-policy no -n -f redmine-pod
/etc/systemd/system/pod-redmine-pod.service
/etc/systemd/system/container-redmine.service
systemd 設定を再読込する
# systemctl daemon-reload
手動によるsystemd操作を確認する
# systemctl enable pod-redmine-pod.service
Created symlink /etc/systemd/system/multi-user.target.wants/pod-redmine-pod.service → /etc/systemd/system/pod-redmine-pod.service.
サービスの起動・停止・ステータス
# systemctl start pod-redmine-pod.service
# systemctl stop pod-redmine-pod.service
# systemctl status pod-redmine-pod.service
Kubernetesのyamlファイル作成
# cd /usr/local/redmine
# podman generate kube redmine-pod > redmine-pod.yaml
ポットレベルからの再作成準備(削除)
-
稼働しているポッドの確認
podman pod ls podman ps
-
ポッドを全て終了する場合
podman pod stop --all
-
ポッドを全て削除する場合
podman pod rm --all
-
イメージ
podman images
-
イメージ全て削除
podman rmi --all 個別に削除する場合、コンテナIDを並べて記述
-
ポッドの起動
podman play kube ./redmine-pod.yaml
※[podman play kube]でポッドの起動するとボリュームの再利用の方法がわからなかったので未使用の予定
ネットワーク制限[未実施]
想定した動作をしないので未実施[最新版に期待?]
ポートのオープン
※実施しなくても接続できたので保留中
# firewall-cmd --permanent --zone=internal --add-port=3000/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --list-all-zones
Pod を作成
NIC2枚刺しの環境で内向きのアドレスのみで提供したいので、ホストのIPアドレスを追加したが、期待した動作の確認ができていないので保留
# podman pod create -p192.168.1.7:3000:3000 --name redmine-pod
066d26409b1d91b22942aa806523e060413a61187594440b54a6233772c9d9f9