PodmanでWordPressの起動

ルートフォルダだったので、パスを /srv から /home に変更(2024/09/29)

はじめに

自宅サーバー用にリバースプロキシ呼び出しなので、ローカル用途では不要な設定が含まれています。

ネットワークの作成

podman network create --subnet 10.0.20.0/24 --gateway 10.0.20.1 network-wordpress

WordPress用のポッド作成

ボリュームの作成

mkdir -p \
  /home/podman/wordpress-pod/mariadb \
  /home/podman/wordpress-pod/html

ポッド作成

podman pod create --name wordpress-pod -p 21080:80 -p 21443:443 --network=network-wordpress
podman create --pod wordpress-pod --name wordpress-db \
  --restart=unless-stopped \
  -e MARIADB_ROOT_PASSWORD="password" \
  -e MYSQL_DATABASE="wordpress" \
  -e MYSQL_USER="wordpress" \
  -e MYSQL_PASSWORD="password" \
  -v /home/podman/wordpress-pod/mariadb:/var/lib/mysql \
  docker.io/library/mariadb:latest
podman create --pod wordpress-pod --name=wordpress-web \
  --restart=unless-stopped \
  -e WORDPRESS_DB_NAME="wordpress" \
  -e WORDPRESS_DB_USER="wordpress" \
  -e WORDPRESS_DB_PASSWORD="password" \
  -e WORDPRESS_DB_HOST="127.0.0.1" \
  -v /home/podman/wordpress-pod/html:/var/www/html \
  docker.io/library/wordpress:latest

WordPressの起動

podman pod start wordpress-pod

自動起動設定

自動起動用にユニットファイル作成

# cd /usr/lib/systemd/system
# podman generate systemd --name wordpress-pod --files --restart-policy=always
/usr/lib/systemd/system/pod-wordpress-pod.service
/usr/lib/systemd/system/container-wordpress-db.service
/usr/lib/systemd/system/container-wordpress-web.service

自動起動設定

systemctl daemon-reload
systemctl enable pod-wordpress-pod.service
systemctl enable container-wordpress-db.service
systemctl enable container-wordpress-web.service

コンテナ作成用スクリプト

#! /bin/bash

PodName='wordpress'

# ボリュームの作成
mkdir -p \
  /home/podman/${PodName}-pod/mariadb \
  /home/podman/${PodName}-pod/html

# 起動済みのポッド削除
echo ポッド削除
podman pod stop ${PodName}-pod
podman pod rm ${PodName}-pod

# ポッド作成
echo ポッド作成
podman pod create --name ${PodName}-pod -p 21080:80 -p 21443:443
podman create --pod ${PodName}-pod --name ${PodName}-db \
  --restart=unless-stopped \
  -e MARIADB_ROOT_PASSWORD="password" \
  -e MYSQL_DATABASE="wordpress" \
  -e MYSQL_USER="wordpress" \
  -e MYSQL_PASSWORD="password" \
  -v /home/podman/${PodName}-pod/mariadb:/var/lib/mysql \
  docker.io/library/mariadb:latest
podman create --pod ${PodName}-pod --name=${PodName}-web \
  --restart=unless-stopped \
  -e WORDPRESS_DB_NAME="wordpress" \
  -e WORDPRESS_DB_USER="wordpress" \
  -e WORDPRESS_DB_PASSWORD="password" \
  -e WORDPRESS_DB_HOST="127.0.0.1" \
  -v /home/podman/${PodName}-pod/html:/var/www/html \
  docker.io/library/wordpress:latest

# ポッド起動
echo ポッド起動
podman pod start ${PodName}-pod

echo Finish!

コメント

タイトルとURLをコピーしました