2026年04月26日
OTTAN.JP
iPhone · Mac · Windows Tips
Blog

【2026年版】Docker ComposeでApple Silicon Macに快適なWordPressローカル開発環境を構築する

By ottanjp 5 min read 更新 2026.04.21

🔁 2026年リライト版 この記事は2017年4月に公開した「Docker ComposeでWordPress環境をもっと楽に管理しよう!」、2016年8月の「詳細な解説付き!今から始めるDocker for Mac!快適なWordPress開発環境を手に入れよう!」、「Docker for Macで始めるお手軽WordPress環境のさまざまなカスタマイズ」、2016年10月の「Dockerで作る最強・最速のローカルWordPress環境」の4本を、2026年時点のApple Silicon Mac前提で統合・全面書き換えしたものです。

Apple Silicon(M1〜M4世代)のMacで、WordPressのローカル開発環境を最短で立ち上げるためのDocker Compose構成を紹介します。2017年当時の links ディレクティブや version: キー、Intel専用のMySQLイメージなどは2026年現在は不要・非推奨になっており、構成は驚くほどシンプルになりました。

2026年におけるWordPressローカル開発の前提

2016〜2018年に書いた過去記事では、Docker for Mac、VCCW(Vagrant+VirtualBox)、MAMP など複数の選択肢がありましたが、2026年時点で現役の選択肢は次のどれかです。

  • Docker Desktop(無料プランは個人/小規模のみ)
  • OrbStack(Mac専用、Docker Desktopより軽量・高速)
  • Local by Flywheel(GUI重視の非開発者向け)
  • wp-env(WordPress公式のDocker簡易ラッパー)

本記事ではもっとも柔軟性の高い Docker Desktop(または OrbStack)+ Docker Compose を前提に進めます。Apple Silicon上のDocker Desktopは2022年以降成熟しており、Rosetta 2でx86_64エミュレーションも可能になっています。

❯ docker --version
Docker version 27.x, build xxxxxxx

❯ docker compose version
Docker Compose version v2.x

docker-compose(ハイフン付き)は v1 系でEOL済みです。現在は docker compose(スペース区切り)が標準です。

docker-compose.yml(2026年最小構成)

任意の作業ディレクトリに compose.yaml を作成します。Compose v2 以降はファイル名が docker-compose.yml ではなく compose.yaml が推奨されています(docker-compose.yml も引き続き動作します)。また、冒頭の version: '3' は不要になりました。

services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: root
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wordpress
      MARIADB_PASSWORD: wordpress
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:6.8-php8.3-apache
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DEBUG: 1
    volumes:
      - ./wp-content:/var/www/html/wp-content

  adminer:
    image: adminer:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "8081:8080"

volumes:
  db_data:

ポイントは次のとおりです。

  • MySQLではなくMariaDB 11を採用 — MariaDBはApple Silicon向けの公式ARM64イメージが提供されており、MySQL公式イメージで必要だった platform: linux/amd64 の指定が不要です。Rosettaエミュレーション経由の起動に比べて体感で数倍高速です。
  • wordpress:6.8-php8.3-apache タグを固定latest を避けることで、開発環境の意図しない破壊的更新を防ぎます。PHPは2026年時点で8.3がWordPressコアの最小要件。php8.4 も利用可能です。
  • links は削除 — Docker Composeの同一ネットワーク内では、サービス名(db)でDNS解決できるため、links は不要かつ非推奨です。
  • ports: "8080:80" — ホスト側の8080番でアクセス。http://localhost:8080 を開くとWordPressのインストール画面が出ます。
  • ./wp-content:/var/www/html/wp-content — テーマ/プラグイン開発をホスト側で行うための最小限のバインドマウント。WordPressコア全体をマウントする構成にすると起動が遅くなるため、wp-content だけに絞るのが推奨です。2016年当時の :cached オプションはApple Silicon時代には不要です(VirtioFSが標準)。
  • Adminerを同梱 — phpMyAdminより軽量で単一コンテナ。http://localhost:8081 でDBを管理できます。

起動、停止、再構築

# 起動(バックグラウンド)
❯ docker compose up -d

# ログ確認
❯ docker compose logs -f wordpress

# 停止(コンテナだけ、ボリュームは残る)
❯ docker compose down

# 停止+ボリューム削除(DBも初期化される)
❯ docker compose down -v

# イメージも含めて再ビルド
❯ docker compose up -d --build

wp-contentだけではなく、WP-CLIも使いたい

WordPressの管理作業(プラグインの一括更新、ユーザー管理、DB操作など)はWP-CLIが便利です。Composeに追加します。

  wpcli:
    image: wordpress:cli-php8.3
    depends_on:
      - db
      - wordpress
    user: "33:33"  # www-data
    volumes:
      - ./wp-content:/var/www/html/wp-content
    working_dir: /var/www/html
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    entrypoint: wp
    command: "--info"
    profiles: ["cli"]

profiles: ["cli"] を付けておくと、通常の docker compose up では起動せず、必要なときだけ呼び出せます。

❯ docker compose run --rm wpcli plugin list
❯ docker compose run --rm wpcli user create demo demo@example.com --role=author --user_pass=demo

HTTPSでローカル開発する(応用)

WordPressのブロックエディタやプラグインの一部はHTTPS前提で挙動が変わるため、ローカル開発でも https://wordpress.test のような独自ドメイン+自己署名証明書を使う構成が望ましいです。mkcert をホスト側にインストールし、Traefik を前段に配置する構成が2026年の定番です。この構成は長くなるため別記事で扱います。

本番環境への持ち出し

ローカルで開発したテーマ/プラグインを本番にデプロイする方法は、

  • WP-CLI で tar した wp-content を rsync — シンプルでトラブルが少ない
  • GitHub ActionsでCI/CDパイプラインpull_request 時にRewrite内容をレビュー、main への push で WP-CLI 経由デプロイ
  • WordPress PlaygroundWordPress.orgが公式提供) — ブラウザ上でWordPressを動かすので、プラグイン/テーマの動作確認に便利

2016年当時記事で紹介していた VCCW + WordMove は、現在は実質的に利用者が激減しています。

まとめ

  • compose.yaml 一枚でWordPress + MariaDB + Adminer が立ち上がる
  • MariaDBを使えばApple Siliconでもネイティブ速度で快適
  • :cachedlinksversion: はもう書かなくてよい
  • WP-CLIは別サービスとしてprofilesで切り分ける

参考

Comments
comments powered by Disqus