2, 3年前に動作環境作ったときは、Vagrantの環境でやったもんだが、今はDockerでしょうってことで探してたら、良さそうなクィックスタートを見つけたのでそれで間に合わせた話

クィックスタート: Compose と WordPress - Docker-docs-ja 19.03 ドキュメント

基本は上記内容だったが、以下2点追加で修正を加えた

  1. container_nameの設定
  2. volumesの設定

container_nameの設定

主な理由は、docker execする際に、名前を指定して実行したかったから

Docker Dashboardから対象のコンテナに対してCLIクリックすれば一発ではあるんだけど、気軽にsshしたいしなぁと指定した

おかげさまで

$ docker exec -it {64文字くらいのCONTAINER ID} /bin/sh

から

$ docker exec -it {container_name} bash

になった

Docker DashboardのCLIをクリックすれば、terminalが立ち上がってshで動く(個人的には使いづらいのでbashに切り替えるけど)

Docker DashboardのCLIをクリックすれば、terminalが立ち上がってshで動く(個人的には使いづらいのでbashに切り替えるけど)

volumesの設定

修正したかったテーマのアップロードがWeb上からできなかったり、都度アップロードするのも面倒だなということで、docker-compose.ymlと同じディレクトリにテーマを配置し、volumesの設定をした

あとは好きなエディタなりIDE(PhpStorm派)で開発、動作確認した

docker-compose.yml 差分

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
+    container_name: ProjectName
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
     volumes:
+      - ./wordpress-theme:/var/www/html/wp-content/themes/wordpress-theme
volumes:
    db_data:

README.md