目次 非表示
「レンタルWebサーバーを卒業してVPSに構築してみたい」「作業用PC上にWordPressのテスト環境を作ってみたい」そんな人のために、Dockerを使って、PHPやデータベースを含むWordPress環境をサクッと立ち上げる方法をまとめます。
この記事の意義
WordPressをDockerなしで構築した場合、Webサーバー(apache・nginxなど)、PHP、MySQL,を個別にインストールしてサービスを起動し、それぞれのソフト内で設定を合わせるという億劫な手順を踏む必要があります。加えて、PCやサーバーごとの環境差によって、ローカルでは動いていたものが本番環境ではうまく動かないこともあります。
そこで便利なのがDockerです。Docker(Docker Compose)を使えば、WordPressに必要な構成を定義したり同じ環境を何度でもコマンド一発で立ち上げ・停止したりすることができるのです。
ローカルでの開発検証からサーバーでの本番環境まで、OSやマシンへの依存対応に割く労力を減らして開発・検証進めることができます。
WordPressとは何?

WordPressをわかりやすく説明すると「このサイト」です。Webサイトやブログのコンテンツをブラウザから編集・公開できる、無料のオープンソースCMS(コンテンツ管理システム)です。
またWordPressは世界的に利用者が多く、調査サイトW3Techsによると (世界に数兆サイトもある)全Webサイトの約42.6% がWordPressを利用しています。すごい割合ですね。ブログだけでなく編集が簡単なことから企業ホームページや個人のポートフォリオなどにも使われるそうです。
Dockerとは何?

そもそもDockerは、アプリケーションを動かすのに必要な環境をまとめてコンテナ化し、どこでも同じように実行しやすくする技術です。言い換えると分離された実行環境です。
Dockerは2015年頃から多くの企業で本格的に採用され始め、現在ではGoogleをはじめとする大手企業でも利用されている、現代のインフラ技術を支える重要な仕組みの一つです。開発環境の統一や本番環境へのデプロイ、サーバー管理など幅広い場面で使われており、インフラやWeb開発を学ぶうえで欠かせない技術と言っても過言ではありません。
構築方法
前提
Mac・Windows
Docker Desktopがインストールされており、ソフトウェアが立ち上がっていること。
その際に、DockerDesktopの左下に「Engine running」と書いてあることを確認してください。

Linux
Docker Engineがインストールされており、サービスで起動していること。
いざ構築!
まずは WordPress 用の作業ディレクトリを作成し、その中に移動します。
Mac・Linuxではターミナル、WindowsではPowerShellやコマンドプロンプトを開いて実行してください。
mkdir my_wordpress
cd my_wordpress次に、WordPress 本体とデータベースをまとめて起動するための docker-compose.yml を作成します。
dbのrootパスワードなどは乱数など複雑なものに変更してください。
Docker Composeとは複数コンテナを一括で起動させるための設計図みたいなものです。これを利用することで、データベースに入ってパスワードやテーブルを作成する手間を省けます。docker単体で使われることはかなり少なく、今回のようにDocker Composeと併用して使うことがほとんどです
services: db: image: mariadb:10.6.4-focal command: '--default-authentication-plugin=mysql_native_password' volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress expose: - "3306" - "33060" wordpress: image: wordpress:latest depends_on: - db volumes: - wp_data:/var/www/html ports: - "8080:80" restart: always environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress
volumes: db_data: wp_data:設定ファイルを作成したら、以下のコマンドで WordPress とデータベースのコンテナをバックグラウンドで起動します。
docker compose up -d起動後はブラウザで http://localhost:8080 にアクセスし、WordPress の初期設定を進めます。ユーザー名やメアドを聞かれます。
http://localhost:8080管理画面の言語を選びます。

なお、ユーザー名は後から変更できないため、慎重に決めて入力しましょう。

不要になったら、展開しているディレクトリにターミナルなどで移動し、以下のコマンドでコンテナを停止できます。ボリュームも含めて削除したい場合は --volumes を付けます。
docker compose down
docker compose down --volumesまとめ
Dockerで構築して以来、サーバー内で別のソフトウェアとの競合問題を起こす事がなくなり、ローカルテストしてから本番環境へ移す、きちんとした運用フローも確立できました。
メリットが非常に大きいので、積極的に活用していきましょう!

