Dockerでワードプレスのローカル環境を作る方法

この記事の前提条件

対象: Docker Desktop がインストール済みの環境
難易度: ★★☆
所要時間: 約15分

テーマのカスタマイズやプラグインの動作検証を、いきなり本番サーバーで試すのは危険です。かといって毎回サーバー用ソフト(MAMPなど)を個別にインストールするのも面倒。Dockerを使えば、設定ファイル1つでWordPressのローカル環境を作って、使い終わったら丸ごと消せるようになります。

docker-compose.ymlを1つ用意するだけ

空のフォルダを作り、その中にdocker-compose.ymlという名前で次の内容を保存します。

services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    volumes:
      - ./wp-content:/var/www/html/wp-content

  db:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_ROOT_PASSWORD: root
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

WordPress公式のDockerイメージと、データベース用のMySQLイメージの2つをセットで動かす、という構成です。パスワードなどはローカル検証用の値なので、そのままで問題ありません。

起動はコマンド1行

docker compose up -d

初回はイメージのダウンロードが走るため少し時間がかかりますが、完了すればhttp://localhost:8080にアクセスするだけでWordPressのインストール画面が表示されます。

⚠️ 古い記事の「docker-compose」というコマンドは今は非推奨

以前はdocker-compose up -d(ハイフンでつないだ独立コマンド)と紹介している記事が主流でしたが、現在のDocker Desktopではdocker compose(スペース区切り、dockerコマンドのサブコマンド)を使うのが標準です。旧コマンドも当面は動作しますが、これから学ぶなら新しい書き方で覚えておく方が長く使えます。

停止・削除も簡単

docker compose down          # 停止(データは残る)
docker compose down -v       # 停止 + データも完全に削除

検証が終わって不要になったら-v付きで実行すれば、データベースの中身ごと綺麗さっぱり消せます。パソコン本体に余計な設定ファイルが散らからないのが、Dockerを使う一番のメリットです。

まとめ

  • docker-compose.ymlを1つ用意し、docker compose up -dで起動するだけ
  • 現在はdocker-composeではなくdocker compose(スペース区切り)が標準
  • docker compose down -vでデータごと綺麗に削除でき、パソコンを汚さない