WordPressしたい(wordpress

# compose.yaml
services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress-dev
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME:-wordpress}
      WORDPRESS_DB_USER: ${WORDPRESS_DB_USER:-wordpress}
      WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD:-wordpress}
      WORDPRESS_TABLE_PREFIX: wp_
    volumes:
      - wordpress_data:/var/www/html
    depends_on:
      - db
    restart: always

  db:
    image: mysql:8.0
    container_name: wordpress-db
    environment:
      MYSQL_DATABASE: ${WORDPRESS_DB_NAME:-wordpress}
      MYSQL_USER: ${WORDPRESS_DB_USER:-wordpress}
      MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD:-wordpress}
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
    volumes:
      - db_data:/var/lib/mysql
    restart: always

volumes:
  wordpress_data:
  db_data:

コンテナーを起動したい

$ docker compose up -d

コンテナーで操作したい

$ docker compose exec wordpress bash

コンテナーを終了したい

$ docker compose down

WordPressについて

WordPressをDockerで起動します。 MySQLデータベースとWordPressをセットで構成しており、認証情報は環境変数で設定します。 環境変数は.envで変更できます。

上記サンプルでは、デフォルト値を指定しているため、.envファイルがなくても動作します。 起動後、ブラウザで http://localhost:8080 を開いて、WordPressの初期セットアップ画面にアクセスできます。 コンテナー内で wp コマンド(WP-CLI)を使って、データベースやプラグインを管理できます。