...

/

WordPress and Compose

WordPress and Compose

Learn the configurations needed for Compose to launch WordPress.

Docker Compose configuration

A WordPress project directory named wordpress is a good choice to have our WordPress-related files in. You’ll be using Docker Compose, so we need a docker-compose.yml file in the root of the directory. Edit it as:

Press + to interact
version: '3'
services:
mysql:
image: mysql:5
container_name: mysql
environment:
- MYSQL_DATABASE=wpdb
- MYSQL_USER=wpuser
- MYSQL_PASSWORD=wpsecret
- MYSQL_ROOT_PASSWORD=mysecret
volumes:
- wpdata:/var/lib/mysql
ports:
- "3306:3306"
networks:
- wpnet
restart: on-failure
wordpress:
image: wordpress
container_name: wordpress
depends_on:
- mysql
environment:
- WORDPRESS_DB_HOST=mysql
- WORDPRESS_DB_NAME=wpdb
- WORDPRESS_DB_USER=wpuser
- WORDPRESS_DB_PASSWORD=wpsecret
volumes:
- wpfiles:/var/www/html
- ./wp-content:/var/www/html/wp-content
ports:
- "80:80"
networks:
- wpnet
restart: on-failure
volumes:
wpdata:
wpfiles:
networks:
wpnet:

The following sections describe this configuration in detail.

Environment variables

The MySQL environment variables MYSQL_DATABASE, MYSQL_USER, and MYSQL_PASSWORD define a new database named ...