This commit adds the first iteration of a Docker-based config for setting up a local WordPress development environment. Props pento, noisysocks, mcsf, pbearne, isabel_brison. See #47767. git-svn-id: https://develop.svn.wordpress.org/trunk@45745 602fd350-edb4-49c9-b593-d223f7449a82
76 lines
1.6 KiB
YAML
76 lines
1.6 KiB
YAML
version: '3.7'
|
|
|
|
services:
|
|
|
|
##
|
|
# The web server container.
|
|
##
|
|
wordpress-develop:
|
|
image: nginx:alpine
|
|
|
|
networks:
|
|
- wpdevnet
|
|
|
|
ports:
|
|
- ${LOCAL_PORT-8889}:80
|
|
|
|
environment:
|
|
LOCAL_DIR: ${LOCAL_DIR-src}
|
|
|
|
volumes:
|
|
- ./default.template:/etc/nginx/conf.d/default.template
|
|
- ../../:/var/www
|
|
|
|
# Load our config file, substituning environment variables into the config.
|
|
command: /bin/sh -c "envsubst '$$LOCAL_DIR' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
|
|
|
|
depends_on:
|
|
- php
|
|
|
|
##
|
|
# The PHP container.
|
|
##
|
|
php:
|
|
image: wordpressdevelop/php:${LOCAL_PHP-latest}
|
|
|
|
networks:
|
|
- wpdevnet
|
|
|
|
environment:
|
|
LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false}
|
|
|
|
volumes:
|
|
- ./php-config.ini:/usr/local/etc/php/conf.d/php-config.ini
|
|
- ../../:/var/www
|
|
|
|
depends_on:
|
|
- mysql
|
|
|
|
##
|
|
# The MySQL container.
|
|
##
|
|
mysql:
|
|
image: mysql:${LOCAL_MYSQL-latest}
|
|
|
|
networks:
|
|
- wpdevnet
|
|
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: password
|
|
|
|
volumes:
|
|
- ./mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql
|
|
- mysql:/var/lib/mysql
|
|
|
|
# For compatibility with PHP versions that don't support the caching_sha2_password auth plugin used in MySQL 8.0.
|
|
command: --default-authentication-plugin=mysql_native_password
|
|
|
|
volumes:
|
|
# So that sites aren't wiped every time containers are restarted, MySQL uses a persistent volume.
|
|
mysql: {}
|
|
|
|
networks:
|
|
# Creating our own network allows us to connect between containers using their service name.
|
|
wpdevnet:
|
|
driver: bridge
|