Docker上でWordPressを動かす

2026年2月28日
1 分

やってみたのでメモ。

というか、ほぼ↓このページの通り。

docker-compose.yml ファイル。

services:
  mysql:
    image: mysql:8.0
    user: "${UID:-1000}:${GID:-1000}"
    volumes:
      - ./mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
      MYSQL_DATABASE: ${MYSQL_DATABASE:-wordpress}
      MYSQL_USER: ${MYSQL_USER:-wpuser}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD:-mypassword}
    ports:
      - "3306:3306"
    restart: unless-stopped

  wordpress:
    image: wordpress:latest
    user: "${UID:-1000}:${GID:-1000}"
    volumes:
      - ./wordpress/themes:/var/www/html/wp-content/themes
      - ./wordpress/plugins:/var/www/html/wp-content/plugins
      - ./wordpress/uploads:/var/www/html/wp-content/uploads
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: ${MYSQL_USER:-wpuser}
      WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD:-mypassword}
      WORDPRESS_DB_NAME: ${MYSQL_DATABASE:-wordpress}
    ports:
      - "${EXPORT_PORT:-8000}:80"
    links:
      - mysql
    depends_on:
      - mysql
    restart: unless-stopped

環境変数の設定のための .env ファイル。

MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=wordpress
MYSQL_ROOT_PASSWORD=wordpress
EXPORT_PORT=8000
UID=1000
GID=1000

これでコンテナを起動すれば、http://localhost:8000/ でWordPressにアクセスできるようになる。 あとは言語選択、ユーザー作成などの初期設定をすれば完了。