今までMAMPやLocal(旧:Local by Flywheel)を使ってローカルの環境構築をしてきましたが、いつかは触らねばならないと思っていたDockerでWordPressを構築することにしました。
Dockerのインストールや使い方はここでは省略し、複数のWordPressプロジェクトをDocker上で開発する為に実行したステップを残しておくことにしました。
プロジェクトフォルダを作る
ローカルの開発したいディレクトリに任意の名前でフォルダを作成します。ここでは「sometimes」とします。
環境設定ファイルを作る
そのフォルダの中に、docker-compose.ymlというファイルを新規作成し、中に以下の内容を記述します。
services:
wordpress:
image: wordpress:latest
container_name: wordpress_sometimes
volumes:
- ./wordpress:/var/www/html
environment:
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_TABLE_PREFIX=wp_
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=root
- WORDPRESS_DB_PASSWORD=password
depends_on:
- db
- phpmyadmin
restart: always
ports:
- "8081:80"
networks:
- network_sometimes
db:
image: mariadb:latest
container_name: db_sometimes
volumes:
- db_data_sometimes:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_USER=root
- MYSQL_PASSWORD=password
- MYSQL_DATABASE=wordpress
restart: always
networks:
- network_sometimes
phpmyadmin:
platform: linux/amd64
depends_on:
- db
image: phpmyadmin/phpmyadmin:latest
container_name: phpmyadmin_sometimes
restart: always
ports:
- "8184:80"
networks:
- network_sometimes
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
volumes:
db_data_sometimes:
networks:
network_sometimes: # ここでネットワークを定義
Dockerで他のWordPressをプロジェクトを管理している場合、青くハイライトされている箇所を一意の文字、数字に変更すると、他のプロジェクトを立ち上げていても競合せずに両方アクセスしブラウザ表示することができます。
プロジェクトの起動・停止(削除)
プロジェクトフォルダの中でターミナルを起動し、docker-compose up -dを入力&エンターを押下すると、wordpressフォルダが生成されます。
今回の設定では、WordPressコンテナのホスト側のポートを 8081 に設定したのでhttp://miicoo.shopにアクセスすると、いつものWordPressの初期設定画面が表示されるようになりました。
最後に同じターミナルでdocker-compose downを入力&エンターを押下し、コンテナ・ネットワーク・ボリューム・イメージを削除して終了です。