Windows版Podman.exeでWordPressサーバを簡単構築 2022年10月版

Windows版Podman.exeコマンドで。

WordPressサーバを構築する手順を記録しておこうと思います。

追々ですが。

構築したポッドは、他のPCでポッドを動かすマイグレーションや。

コンテナのバックアップ・リストアを行えるようにしたいなと思います。


Windows版 Podman.exeのインストール

Podman.exeのインストール手順はこちらになります。

こちらの記事に従い、Podman.exeをインストールして下さい。

インストールが完了しましたら、続きは以下になります。


WordPressポッドの起動

ポッドの起動方法は、以前作成したこちらの記事がベースになります。

今回は、この記事の中のWordPressを起動する流れですが、ボリュームのマウント-vオプションは使わず、データはすべてコンテナの中に入れるようにしました。

サービスを公開するポート番号は、8091にしました。

  1. ポッド作成後、mariadbとWordPressコンテナを起動します。
    rem WordPress用ポッド作成
    "%ProgramFiles%\RedHat\Podman\podman.exe" pod create ^
    --name wp-pod -p 8091:80
    rem Mariadbコンテナ作成
    "%ProgramFiles%\RedHat\Podman\podman.exe" run ^
    -d --restart=always ^
    --pod=wp-pod ^
    --name=wp-db ^
    -e MYSQL_ROOT_PASSWORD="myrootpass" ^
    -e MYSQL_DATABASE="wp" ^
    -e MYSQL_USER="wordpress" ^
    -e MYSQL_PASSWORD="w0rdpr3ss" ^
    docker.io/library/mariadb:latest
    rem WordPressコンテナ作成
    "%ProgramFiles%\RedHat\Podman\podman.exe" run ^
    -d --restart=always ^
    --pod=wp-pod ^
    --name=wp-web ^
    -e WORDPRESS_DB_NAME="wp" ^
    -e WORDPRESS_DB_USER="wordpress" ^
    -e WORDPRESS_DB_PASSWORD="w0rdpr3ss" ^
    -e WORDPRESS_DB_HOST="127.0.0.1" ^
    docker.io/library/wordpress:latest
    

    コマンドを3つ、順番に実行するかたちです。

特に問題なく起動した感じです。

Webブラウザでアクセスしてみます。

http://localhost:8091

このような感じで、初期設定画面が表示されました。


起動用バッチファイルを作成

PCを再起動した場合に備えて、かつ他のPCからアクセスできるように、起動用のバッチファイルを作っておきます。

他のPCからアクセスするためのポートフォワードとファイアウォール設定は、netshコマンドの行になります。

ファイル名は「start_wp-pod.bat」にしてみました。

※22.11.25修正:IPアドレスを取り出す構文に不具合がありましたので修正しました。不具合の内容:IPアドレスが0で終わる場合、正しく取り出せませんでした。構文に\.を追加しました。

※22.12.8追記:ファイアウォールのルールが無限に追加されてしまうため、ルールが存在するか判定するIF文を追加しました。

rem podmanマシン起動
podman machine start

rem podmanマシンのIPアドレス取得
FOR /F %%i in ('podman.exe machine ssh "cat /proc/net/fib_trie | sed -e 's/^[ \-\|\+]*[ \-]*//' | grep '[\d]*\.' |grep -v -e '0.0.0.0' -e '^127\.[\d]*' -e '\/' -e '\.0$' -e '\.255$'"') DO set IPADR=%%i

rem ポッド起動
set pod=wp-pod
podman pod start %pod%

rem ポートフォワード
set PTNB=8091
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=%PTNB% connectaddress=%IPADR% connectport=%PTNB%

rem 受信ルール
netsh advfirewall firewall show rule name= "TCP %PTNB%" dir=in
IF %ERRORLEVEL% GEQ 1 (
netsh advfirewall firewall add rule name= "TCP %PTNB%" dir=in action=allow protocol=TCP localport=%PTNB%
)

rem 送信ルール
netsh advfirewall firewall show rule name= "TCP %PTNB%" dir=out
IF %ERRORLEVEL% GEQ 1 (
netsh advfirewall firewall add rule name= "TCP %PTNB%" dir=out action=allow protocol=TCP localport=%PTNB%
)

ポートフォワードを有効にしたい場合、必ず管理者権限で起動する必要があります。

これでPodman.exeを実行しているWindows PCのIPアドレスやmDNSホスト名でWordPressにアクセスできるようになりました。


以上でWindows PCでPodman.exeを使ってWordPressサーバを構築することができました。

次のステップとして、ポッドのマイグレーションやバックアップ・リストアを行いたいと思いますが、このWordPressコンテナは、その検証環境になります。

Windows版のPodman.exeは、まだ機能追加の段階のように思えますので、どこまでそれらの機能が実装されているか、気になるところです。

それではまた!

スポンサーリンク

フォローする

スポンサーリンク