【Docker】docker-compose.yml によるローカル環境構築まとめ

私は、docker-compose.yml ファイルを作成し、docker compose up でwordpressが利用できる環境をローカル(自分のmac上)に用意しています。

私が使用している docker-compose.yml の雛形を解説します。
参考になれば幸いです。

ファイル構成

「ProjectA」という任意のフォルダを作成し、dockerファイルを置くフォルダを作成します。

ProjectA
├ docker_projectA
├ docker-compose.yml

docker-compose.yml があるディレクトリで初めて次のコマンドを実行すると、docker-compose.yml で指定した wordpress のフォルダが作成され、wordpressのファイルが生成されます。wordpress の ports に記載されているlocalhost にアクセスすると wordpressのインストール画面が表示されます。

ProjectA
├ docker_projectA
├ docker-compose.yml
├ wordpress
    ├

docker-compose.yml の全体像

docker-compose.yml
# version: '3'

services:
  db:
    platform: linux/x86_64
    image: mysql:5.7
    container_name: sample_mysql # コンテナ名任意
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress_sample # ここと
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:php8.0
    container_name: sample_wordpress # コンテナ名任意
    ports:
      - "8014:80" # 任意
    restart: always
    volumes:
      - ../wordpress/:/var/www/html
   environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress_sample # ここが phpmyadmin のデータベース名

  phpmyadmin:
    platform: linux/x86_64
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin:latest
    container_name: sample_phpmyadmin # コンテナ名任意
    ports:
      - 8000:80 # 任意
    restart: always
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=db
      - PMA_USER=root
      - PMA_PASSWORD=wordpress
      - UPLOAD_LIMIT=256M
    volumes:
      - ./phpmyadmin/sessions:/sessions

volumes:
  db_data: {}