/usr/local/docker-compose/www.carrot.co.jp/docker-compose.yml
services:
db:
image: mariadb:10.3
container_name: mysql
restart: always
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: testtesttest
MYSQL_DATABASE: wp
MYSQL_USER: wpuser
MYSQL_PASSWORD: wppass
# 「wordpress-network」を明示することで自動参加する「default」に所属させなくする
networks:
- wordpress-network
wordpress:
image: wordpress:7.0-php8.3-apache
container_name: wordpress
depends_on:
- db
restart: always
# portsで外部に公開する必要はない(Nginxだけがアクセスできればよいため)
#ports:
# - "8080:8080"
environment:
# プロキシにドメインを自動登録する設定
#VIRTUAL_HOST: catestwp.com
VIRTUAL_HOST: www.carrot.co.jp
# VIRTUAL_PORT: 80
CERT_NAME: www.carrot.co.jp
# データベース接続設定
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: wppass
WORDPRESS_DB_NAME: wp
# nginx-proxyの指示を信じさせる(https接続)
WORDPRESS_CONFIG_EXTRA: |
if (isset($$_SERVER['HTTP_X_FORWARDED_PROTO']) && $$_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$$_SERVER['HTTPS'] = 'on';
}
define('WP_HOME', 'https://www.carrot.co.jp');
define('WP_SITEURL', 'https://www.carrot.co.jp');
volumes:
- wordpress_data:/var/www/html
- ./php.ini:/usr/local/etc/php/php.ini
- ./.well-known:/var/www/html/.well-known
# プロキシと繋がる「default」と、DBと繋がる「wordpress-network」に所属
networks:
- default
- wordpress-network
volumes:
db_data:
wordpress_data:
networks:
default:
name: proxy-network # 事前に作ってある外部ネットワーク
external: true # 外部で作成されたネットワークを使うという意味
wordpress-network: # DB分離用に内部だけで利用するネットワーク