Über diese Docker-Compose Datei kann WordPress mit PHP 7.4 hinter einem reverse Proxy (Port 81 oder anderem) betreiben. Es wird nicht das Image mit dem „latest“-Tag verwendet, da dieses PHP 7.3.X verwendet.
Falls dieses doch verwendet werden soll muss das authentication_plugin des MySQL-Server auf „mysql_native_password“ gestellt werden, da mit PHP 7.3 die neue standard Methode nicht unterstützt wird.
docker-compose.yml
version: '3'
services:
db_wordpress:
image: mysql:latest
restart: unless-stopped
container_name: db_wordpress
command: [
#bis php 7.4
# '--default_authentication_plugin=mysql_native_password',
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci'
]
volumes:
- /srv/docker/m-hofmann.eu/wordpress/database:/var/lib/mysql
environment:
MYSQL_DATABASE: "${DB_NAME}"
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
# ports:
# - 127.0.0.1:3307:3306
wp:
image: wordpress:php7.4-apache #latest https://hub.docker.com/_/wordpress/
restart: unless-stopped
container_name: wordpress
ports:
- 127.0.0.1:81:80
volumes:
- ./php.conf.ini:/usr/local/etc/php/conf.d/conf.ini
- /srv/docker/m-hofmann.eu/wordpress/wp-data/:/var/www/html
environment:
WORDPRESS_DB_HOST: db_wordpress
WORDPRESS_DB_NAME: "${DB_NAME}"
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: "${DB_ROOT_PASSWORD}"
depends_on:
- db_wordpress
links:
- db_wordpress
.env
DB_ROOT_PASSWORD=wp-password
DB_NAME=wordpress
php.conf.ini
memory_limit = 500M
upload_max_filesize = 30M
post_max_size = 30M
max_execution_time = 600