CMS・コンテンツ管理 一覧へ戻る トップUbuntu 26.04 LTSCMS・コンテンツ管理 / WordPress(Docker)
Ubuntu 26.04 LTS 構築ガイドシリーズ

WordPress構築(Dockerコンテナ)

WordPress+MariaDBの2コンテナ構成を、標準的なDockerで構築する

対象:Ubuntu 26.04 LTS (Server) Docker 29.1.3

目次

  1. はじめに
  2. 詳細な技術要素
  3. 実証手順
  4. Podman版との比較
  5. まとめ

はじめに

以前Podmanで構築したWordPressを、今度は標準的なDockerで構築します。手順の骨格はほぼ同じですが、実際に構築してみるといくつかの違いが見えてきました。

1. 詳細な技術要素

用語説明
DockerネットワークPodmanと同様、複数のコンテナを同じ仮想ネットワークに参加させ、コンテナ名で相互に通信できるようにする仕組み。Docker独自の組み込みDNSで名前解決される。
バインドマウントの自動作成Dockerは-vで指定したホスト側ディレクトリが存在しない場合、自動的に作成する(Podmanとの違い)。

2. 実証手順

1

ネットワークとパスワードを準備する

実行コマンド
sudo docker network create wordpress-net-docker

パスワードはopenssl rand -base64 18等で生成した推測されにくい文字列を用意する。

2

データベース(MariaDB)とWordPressを起動する

実行コマンド
sudo docker run -d --name wp-db-docker --network wordpress-net-docker --restart=always \
  -e MYSQL_ROOT_PASSWORD=(強力なパスワード) \
  -e MYSQL_DATABASE=wordpress \
  -e MYSQL_USER=wordpress \
  -e MYSQL_PASSWORD=(強力なパスワード) \
  -v ~/wp-db-data-docker:/var/lib/mysql \
  mariadb:latest

sudo docker run -d --name wordpress-docker --network wordpress-net-docker --restart=always -p 80:80 \
  -e WORDPRESS_DB_HOST=wp-db-docker \
  -e WORDPRESS_DB_NAME=wordpress \
  -e WORDPRESS_DB_USER=wordpress \
  -e WORDPRESS_DB_PASSWORD=(手順2と同じパスワード) \
  -v ~/wp-content-data-docker:/var/www/html \
  wordpress:latest

実機では、コンテナ起動直後から名前解決・DB接続とも問題なく動作し、Podman版で発生したようなDNSトラブルは発生しなかった。

3

ブラウザからインストールウィザードを進める

ブラウザでhttp://(サーバーのIP)/を開き、WordPressの初期セットアップ(言語選択、サイトタイトル、ユーザー名、パスワード、メールアドレス)を進める。手順自体はPodman版と同じ。

3. Podman版との比較

項目PodmanDocker
バインドマウント先ディレクトリ事前に手動作成が必要自動作成される
コンテナ間DNS名前解決実機でUFWにより一時的にブロックされた問題なく動作
UFWとの関係UFWのルールに従う(ブリッジ内部通信は別途許可が必要)UFWのルールを無視してポートを公開してしまう(要注意、前回のApache構築ページ参照)
OS再起動後の自動復旧podman-restart.serviceの有効化が別途必要デーモン(dockerd)が常駐するため追加設定不要

総合評価

Dockerは構築自体はスムーズだが、UFWを無視してしまう点は重大な注意点。Podmanは逆にUFWに厳格に従うため安全だが、コンテナ間通信で追加設定が必要になる場面がある。どちらも一長一短であり、「簡単だから安全」とは限らない点を覚えておくこと。

4. まとめ

Docker版のWordPress構築は、Podman版で発生したトラブルに悩まされることなくスムーズに完了しました。ただし、Apache構築ページで確認した「UFWを無視してポートが公開されてしまう」問題は、WordPressのような複数ポートを扱わないシンプルな構成でも同様に当てはまるため、公開するポートは常に意図したものだけに絞ることを徹底してください。

CMS・コンテンツ管理 一覧へ戻る