🐳

初心者がDockerでWordPress開発環境を構築してみた[実践記]

に公開

初心者がDockerでWordPress開発環境を構築してみた

はじめに

前回は、初心者ながらDockerを使ってApacheサーバの構築に挑戦しました。
今回はその経験を生かし、DockerでWordPress開発環境の構築に挑戦します。

この記事で学べることは以下です:

  • Docker Desktop と WSL2 の連携方法
  • Docker Compose による WordPress + MariaDB + phpMyAdmin の起動
  • WordPress の初期設定(管理者アカウント作成、投稿・固定ページ作成)
  • テーマ・プラグインのカスタマイズ
  • phpMyAdmin でのデータベース操作

前回の記事はこちらも参考にしてください:
初心者がDockerでApacheサーバを立ててみた

Docker Desktopは公式サイトからダウンロードできます。
https://www.docker.com/products/docker-desktop

やったこと

プロジェクトの準備

WordPress を Docker 上で動かすため、まずは作業用ディレクトリと設定ファイルを準備しました。
今回は以下のような構成でプロジェクトを作成しています。

wordpress-docker/
└─ docker-compose.yml

続いて、WordPress・MariaDB・phpMyAdmin の3つのサービスをまとめて起動できるよう、
docker-compose.yml に必要な設定を書き込みました。

これにより、Docker Compose を使って WordPress 環境をワンコマンドで構築できるようになります。

プロジェクト準備では次の作業を行いました:

開発用ディレクトリ wordpress-docker の作成

docker-compose.yml の作成
内容は以下の内容となります。

WordPress / MariaDB / phpMyAdmin のサービス定義

データ永続化の設定(ボリューム)

ここまで作ることで、

docker compose up -d

だけで WordPress 環境が起動する下地が整いました。

Dockerの環境構築

プロジェクトの準備ができたら、実際に Docker で WordPress 環境を起動します。
このステップでは、Docker Desktop・WSL2 の確認から、コンテナの起動、ブラウザでのアクセスまで行いました。

Docker Desktop と WSL2 の状態を確認

Windows で Docker を使う場合、「WSL2 ベースのエンジン」が有効である必要があります。

Docker Desktop の設定から以下を確認しました:

Use the WSL 2 based engine にチェックが入っていること

Ubuntu や docker-desktop が WSL2 として動いていること

PowerShell で状態を確認したコマンド:

wsl --list --verbose

Dockerが動作しているか確認

docker version

この時点で、

Client(Windows)

Server(Docker Desktop / Linux)
が正しく認識されていることを確認しました。

WordPressの開発環境を起動する

準備した docker-compose.yml があるフォルダで以下を実行。

docker compose up -d

-d はバックグラウンド起動の意味です。

正常に起動すると、以下のコンテナが立ち上がります:

・wp-wordpress

・wp-mariadb

・wp-phpmyadmin

起動確認:

docker ps

ブラウザでアクセスできるか確認

起動後、以下の URL に接続。

・WordPress
http://localhost:8000

・phpMyAdmin
http://localhost:8080

WordPress の初期セットアップ画面が表示されれば成功です。

WordPressの初期設定

Docker 上で WordPress 環境が起動したら、続いて WordPress の初期セットアップを行います。
管理者アカウントの作成、基本設定、テーマの有効化など、サイト運営の基礎となる部分を整えました。

初期セットアップ画面にアクセス

ブラウザで以下の URL を開きます:

http://localhost:8000

ここにアクセスすると、WordPress の初期セットアップ画面が表示されます。

サイト言語を選択

最初にサイトで使用する言語を選択します。
今回は 日本語 を選択しました。

管理者アカウントの作成

次に、ログイン用のユーザー情報を設定します:

・サイトタイトル

・ユーザー名(管理者)

・パスワード

・メールアドレス

これらを入力し、「WordPress をインストール」をクリックします。

※ ローカル環境なので、強いパスワードでなくてもOKですが、公開環境では必ず強いものにしましょう。

ダッシュボードにログイン

インストール完了後、ログイン画面に遷移します。

http://localhost:8000/wp-login.php

先ほど作成した管理者ユーザーでログインすると、WordPress の管理画面(ダッシュボード)に入れます。

テーマを初期設定

初期状態では「Twenty Twenty-Five」テーマが有効になっています。

今回は学習として、

・既存テーマのカスタマイズ

・不要なテーマの削除

・固定ページの外観調整

など、基本的な操作を確認しました。

実験・カスタマイズ

WordPress の初期設定が完了したら、次は実際にサイトの形を作っていくフェーズです。
今回は テーマの設定・投稿ページの作成・固定ページの作成 の3つを中心に進めました。

テーマの確認と基本カスタマイズ

WordPress をインストールした時点で「Twenty Twenty-Five」テーマが適用されています。
まずはテーマのレイアウトや色設定などを確認し、必要に応じて変更を行いました。

変更した内容:

・サイトタイトルのフォントサイズ調整

・配色(カラーパレット)の変更

・ヘッダー・フッターのレイアウト確認

テーマエディタは直感的で、ブロック単位で編集できるため、初心者でも扱いやすかったです。

投稿ページの作成

今回は学習目的で、Docker に関連した投稿ページをいくつか作成しました。

作成した投稿の例:

・DockerでWordPressを立ててみた

投稿作成では、ブロックエディタでの見出し・段落・画像の配置など、基本機能も同時に確認できました。

固定ページの作成

固定ページでは、サイトの骨格となるページを作成しました。

作成したページ:

・About

固定ページは投稿とは違い、サイトの構造として使われるため、今後のカスタマイズに向けての土台になります。

コンテナ操作

WordPress の初期設定とページ作成ができたら、次は Docker 側の操作にも触れておきます。
開発中は コンテナの再起動・停止・ログ確認・不要データの削除 など、基本的な操作が必要になるため、ここでは実際に使用したコマンドと内容をまとめました。

コンテナの停止・再起動

WordPress・MariaDB・phpMyAdmin の3つのコンテナは docker-compose.yml で連携しています。
そのため、以下のコマンドひとつでまとめて操作できます。

・コンテナを停止する

docker compose down

・バックグラウンドで再起動

docker compose up -d

・個別コンテナを再起動する場合

docker restart wp-wordpress

コンテナの状態確認

開発中「動いているのか?」を確認する場面は多いので、以下のコマンドを使いました。

docker ps

表示される主なコンテナ:

・wp-wordpress

・wp-mariadb

・wp-phpmyadmin

STATUS が「Up」と表示されていれば正常です。

ログの確認

WordPress の画面が表示されないときや、データベースとの接続エラーが起きたときはログ確認が役立ちます。

WordPress のログを見る:

docker logs wp-wordpress

MariaDB のログを見る:

docker logs wp-mariadb

エラーが起きても原因を追いやすく、Docker の良さを実感できるポイントでした。

不要データの削除(開発で便利)

学習中は何度も環境を作り直したり、コンテナを再作成したりするので、使わなくなったデータを削除する場面があります。

使っていないイメージの削除

docker image prune

停止中コンテナの削除

docker container prune

Docker 全体をクリーンにしたい場合(慎重に)

docker system prune -a

※ データベースの中身も消えるため、学習用でのみ使用しました。

つまずいたポイント・解決法

WSL2のUbuntuが未インストールでDockerが動かない

状況:
Docker Desktop をインストールして docker compose up -d を実行しようとしたが、
以下のようなエラーが出て WordPress 環境が起動できなかった。

unable to get image 'mariadb:10.6': error during connect: 
open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.

原因:
Docker Desktop が WSL2 のバックエンドを使う設定になっていたが、
WSL2 上に Ubuntu がインストールされていなかったため、Linux コンテナを起動できなかった。
解決法:

1.Windows ストアから Ubuntu をインストール

2.WSL2 のバージョンが 2 であることを確認

wsl --list --verbose

3.Docker Desktop の設定で Use the WSL 2 based engine にチェック

4.再度 docker compose up -d を実行すると正常にコンテナが起動

Ubuntu をインストールしないと Docker Desktop の Linux コンテナが動かず、
WordPress 環境を構築できないことが初心者にはハマりやすいポイントでした。

おわりに

今回は、初心者が Docker を使って WordPress 開発環境を構築する手順をまとめました。
Docker Desktop と WSL2 の連携から始まり、Docker Compose による WordPress・MariaDB・phpMyAdmin の起動、WordPress の初期設定、テーマ・投稿ページの作成まで一通り体験しました。

特に、WSL2 の Ubuntu 未インストールによるトラブルやコンテナの操作方法など、実際に手を動かす中で学んだことが多くありました。これらの経験は、今後の開発環境構築や本番環境への応用にも役立つはずです。

今後の記事で挑戦してみたいこと

今回の環境をベースに、次の記事ではさらに一歩踏み込んだ内容に挑戦したいと考えています:

テーマやプラグインの高度なカスタマイズ
→ 子テーマの作成や独自プラグインで機能追加を試す

ローカル開発環境と本番環境の連携
→ GitHub などのリモートリポジトリを利用したバージョン管理

データベース操作の自動化・バックアップ
→ phpMyAdmin だけでなく、コマンドラインやスクリプトで効率化

WordPressサイトのパフォーマンス最適化やセキュリティ対策
→ キャッシュ設定やSSL設定をローカルで試す

Discussion