M1 M2 MacでWordPressが立ち上がるdocker-compose.ymlを作りたい場合

AppleシリコンのCPUが故になんか立ち上がらない!とかめっちゃあるので、それを避けた方法を複数パターン紹介。

ちなみにさすがAppleシリコンのローカル環境、動作は爆速である。

前提条件として、Dockerはインストールされていてdocker-composeコマンドが使えるものとする。

とにかく立ち上がればいい場合

docker-compose.yml

version: '3.1'

services:
  db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: examplepass
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    ports:
      - "80:80"
    volumes:
      - wordpress_data:/var/www/html

volumes:
  db_data:
  wordpress_data:

docker-compose up -d

を該当ファイルと同一ディレクトリで叩いたあと、http://localhostにアクセスすればWordPressの初期画面(インストール画面)表示される

できること

  • コンテナを再構築しても投稿などのデータを維持

できないこと

  • wp-contentなどのディレクトリのデータを直接編集したりすること

WordPressの関連ファイルをエディターで編集したりもしたい場合

テーマのファイルとかプラグインのファイルとかその他諸々を編集する可能性がある場合はこっち。

「とにかく立ち上がればいい場合」を試したなら削除

さっきWordPress環境を試験的にこの記事にしたがって書いたなら削除する。

作りっぱなしだとバグる。ブラウザで見た時真っ白になったりする。

docker stop $(docker ps -aq)
docker rm $(docker ps -aq)

docker ps --format '{{.Names}}' | xargs -I {} docker inspect {} --format '{{ .Name }} {{ range .Mounts }}{{ .Name }} {{ end }}'

#多分ここで2個ぐらいボリューム名が出てくる
/wp-wordpress-1  
/wp-db-1 wp_db_data

docker volume rm wp-wordpress-1  
docker volume rm wp-db-1

docker network prune -f

docker-compose down

docker volume rm するwp-db-1 wp_db_datawp-db-1 wp_db_dataは自分の環境に合わせろ。

ファイルの作り方

docker-compose.yml

version: '3.1'

services:
  db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: examplepass
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    ports:
      - "80:80"
    volumes:
      - ./data:/var/www/html #ここがさっきと変わる

volumes:
  db_data:
  wordpress_data:

docker-compose.yml

と同じ階層にdataというディレクトリを作れ。

そしてdocker-compose up -dを叩くと

必要なファイルが自動的に生成される。

インストール完了後に自由に編集できるわけや。

http://localhost

にアクセするとWordPressの初期インストール画面が出てくる。

WordPressインストール後について

DBのパスワードとかいろいろ控えて入力せなあかんの?

→いらん。

テーマファイルとかをエディターで編集したら反映のために何かコマンドがいるの?

→いらん。

無制限に質問可能なプログラミングスクール!

万が一転職できない場合は、転職保障全額返金できるコースもあり!!

無制限のメンター質問対応

 

DMMウェブキャンプでプログラミングを学習しませんか?

独学より成長スピードをブーストさせましょう!

 

まずは無料相談から!

おすすめの記事