ou can use Docker Compose to easily run WordPress in an isolated environment built with Docker containers. This quick-start guide demonstrates how to use Compose to set up and run WordPress. Before starting, make sure you have Compose installed.
Define the project
- Create an empty project directory.You can name the directory something easy for you to remember. This directory is the context for your application image. The directory should only contain resources to build that image.This project directory contains a
docker-compose.yml
file which is complete in itself for a good starter wordpress project.Tip: You can use either a.yml
or.yaml
extension for this file. They both work. - Change into your project directory.For example, if you named your directory
my_wordpress
:$ cd my_wordpress/
- Create a
docker-compose.yml
file that starts yourWordPress
blog and a separateMySQL
instance with volume mounts for data persistence:version: "3.9" services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest volumes: - wordpress_data:/var/www/html ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: db_data: {} wordpress_data: {}
Notes:
- The docker volumes
db_data
andwordpress_data
persists updates made by WordPress to the database, as well as the installed themes and plugins. Learn more about docker volumes - WordPress Multisite works only on ports
80
and443
.