まず、色々ぐぐってみると
podmanのCLIで組んでる方が多く、
cockpit-podmanアプリでwordpressサーバを作ってるとこは少なかった。
しかもコンテナのイメージのバージョンの差異のせいか?
環境変数の設定が微妙にうまくいかなかったりするので、
ココの記事の内容も当てにできないと思います。
地道にDockerの各コンテナイメージの説明をよく読んだ方が良さそうです。
そんな訳で・・・
- データベースはMariaDBが良いかな
- WordPress自体がPHPで出来ている
ということで2つのイメージで組み立てることにする。
- Podを作る
- コンテナ同士の通信をしやすくする為
- IPアドレスを共有するのでコンテナ毎にポート開放する手間が不要
- Pod内のコンテナ同士の識別はIPアドレスではなくコンテナ名を使用
- pod起動終了で中のコンテナが一斉に起動終了するのは便利
- 最重要:pod作成時に必要なポート開放をする必要がある
- 最初はpod無しで試した方が絶対安全(だと思う
- ポート開放等の設定ミスや漏れがあれば全部やり直し
- Configureファイルを作り
- podmamのコマンドでエラー&リトライが近道
- Configureファイルを作り
- ポート開放等の設定ミスや漏れがあれば全部やり直し
- 最初はpod無しで試した方が絶対安全(だと思う
- コンテナ同士の通信をしやすくする為
- MariaDBのコンテナを作る
- 他のDBでもいいけどAlmaLinuxにリポジトリィにある
- 初期設定は環境変数設定のみ
- コンテナのコンソールでシェルが動いてない
- podman exec mysql で設定不可
- コンテナのコンソールでシェルが動いてない
- WordPressのコンテナを作る
- 初期設定は環境変数設定のみ
- コンテナのコンソールでシェルが動いてない
- WordPressの展開も困難
- PHPインストとini調整
- Apache設定不可
- コンテナのコンソールでシェルが動いてない
- 初期設定は環境変数設定のみ
の手順で作成する。
1.Podを作る
cockpitのPodmanアプリのコンテナーの右端の【Podの作成】ボタンからこんな風に作る。

とりあえずホスト側でポートマッピングしたホストポートを解放。
# firewall-cmd --add-port=20080/tcp --permanent
# firewall-cmd --add-port=20443/tcp --permanent
# firewall-cmd --reload
2.MariaDBのコンテナを作る
イメージのとこの【新規イメージのダウンロード】ボタンでイメージをダウンロードしておく。

podのとこの【podでのコンテナーの作成】ボタンで・・・

wordpressコンテナからmariadbコンテナ名で接続先を指定するので、コンテナ名は「mariadb」とか判りやすいものにしておく。
DockerのMariaDBのページに環境変数の設定がある。
ここで
- MARIADB_ROOT_PASSWORD={ルートのパスワード}
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1
- MARIADB_RANDOM_ROOT_PASSWORD=1
のいづれかが必要と書いてあるけど、試した感じでは1.のrootパスワード指定ではWordPressからデータベースにアクセスできなかった。
とりあえず、環境変数で初期設定
MARIADB_RANDOM_ROOT_PASSWORD=1
MARIADB_USER={WordPressで使うユーザ名}
MARIADB_PASSWORD={WordPressで使うユーザのパスワード}
MARIADB_DATABASE={WordPressで使うデータベース名}
TZ=Asia/Tokyo ※日本の場合
コンテナの画面では「変数の追加」ボタンを押すと「一括インポート・・・」の説明が出るので、上の環境変数設定を丸ごとペーストすると楽。

コンテナを作り直す度にデータベースが空になると面倒なので、ボリュームを指定してホストに残るようにする。
ホストパス コンテナーパス
{ホスト側のディレクトリィ} /var/lib/mysql
改めてmariadbコンテナを作る時は初期設定済みなのでボリュームだけ指定すればいい。(ハズ

3.WordPressのコンテナを作る
イメージのとこの【新規イメージのダウンロード】ボタンでイメージをダウンロードしておく。

podのとこの【podでのコンテナーの作成】ボタンで・・・

wordpressもdockerのページを見ると
環境変数がいっぱい必要らしい
WORDPRESS_DB_NAME={WordPressで使うデータベース名}
WORDPRESS_DB_USER={WordPressで使うユーザ名}
WORDPRESS_DB_PASSWORD={WordPressで使うユーザのパスワード}
WORDPRESS_DB_HOST={mariaDBのコンテナ名}
毎回htmlも空になると面倒なので、ボリュームを指定しホストに残す。
ホストパス コンテナーパス
{ホスト側のディレクトリィ} /var/www/html
改めてwordpressコンテナを作る時は初期設定済みなのでボリュームだけ指定すればいい。(ハズ

注意点としては・・・
/var/www/htmlの下にwp-config.phpが作成されるまで待つこと。
さっさとコンテナを止めたり削除すると作成されないので、環境変数の設定が必要になる。
とりあえず、ここまで無事2個のコンテナが起動できていれば
さーて、ここまでは無事成功したけど・・・
ボリューム指定でホストからwp-config.phpが見れるので再設定できるかな?と思いきや
暗号化されているので再設定するよりコンテナを作り直した方が安心できそう。
ブログの移行をするつもりなら
移行プラグインを使うしかない。
ここまでやってやっと気が付く。
podmanのCLIでpodやコンテナを作って
cockpit-podmanでやることはpodの起動と終了だけにした方が
絶対楽だ(合掌

イメージだけで1Gバイトあるけど
CPUの使用率やメモリ消費量は低いのは
助かる。
ブラウザで記事をちょっと書いた感じでは異様に遅いとかないので、
podmanにブログを移行するのも悪くないかもしれない。