Quick setup for local WordPress development (plugins and themes) using Docker. Works with VSCode Remote - Containers.
services:
db:
image: mariadb:latest
container_name: wp_dev_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: wp_dev_root
MYSQL_DATABASE: wp_dev # Database name
MYSQL_USER: wp_dev_user # Database user
MYSQL_PASSWORD: wp_dev_pass # Database password
volumes:
- ./db_data:/var/lib/mysql
wordpress:
image: wordpress:latest
container_name: wp_dev_app
restart: always
user: "1000:1000" # Set to match host user for proper file permissions
depends_on:
- db
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wp_dev # Database name
WORDPRESS_DB_USER: wp_dev_user # Database user
WORDPRESS_DB_PASSWORD: wp_dev_pass # Database password
WORDPRESS_DEBUG: 1
WORDPRESS_CONFIG_EXTRA: |
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
volumes:
- ./wp-content:/var/www/html/wp-contentmkdir wp-content
mkdir db_datadocker-compose up -dAccess WordPress at: http://localhost:8080
You can now add your themes and plugins to the wp-content directory. Your database data will persist in the db_data directory.
Keywords: wordpress docker, docker compose wordpress, local wordpress development, wordpress development environment, docker wordpress setup, wordpress docker-compose.yml, wordpress local server, wordpress mariadb docker, wordpress dev environment, docker wordpress tutorial