Docker Compose で WordPress + MySQL 環境を構築するテンプレート

ファイル構成

project-root/
│── docker-compose.yml         # Docker Compose の設定ファイル
│── .env                       # 環境変数(データベース情報などを設定)

各ファイル

docker-compose.yml

services:
  wordpress:
    image: wordpress:6.7.1
    container_name: wordpress
    restart: always
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: ${WORDPRESS_DB_HOST}
      WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
      WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
      WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME}
    volumes:
      - ./wordpress:/var/www/html
    logging:
      driver: "json-file"
      options:
        max-size: "3m"
        max-file: "1"

  db:
    image: mysql:8.4
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    volumes:
      - wordpress_db_data:/var/lib/mysql
    logging:
      driver: "json-file"
      options:
        max-size: "3m"
        max-file: "1"

volumes:
  wordpress_db_data:

.env

# 共通のデータベースユーザー
DB_USER=<your_database_user>
DB_PASSWORD=<your_database_password>
DB_NAME=<your_database_name>

# WordPress 用
WORDPRESS_DB_HOST=db
WORDPRESS_DB_USER=${DB_USER}
WORDPRESS_DB_PASSWORD=${DB_PASSWORD}
WORDPRESS_DB_NAME=${DB_NAME}

# MySQL 用
MYSQL_USER=${DB_USER}
MYSQL_PASSWORD=${DB_PASSWORD}
MYSQL_DATABASE=${DB_NAME}

# MySQL root パスワード
MYSQL_ROOT_PASSWORD=<your_root_password>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です