Skip to content

Instantly share code, notes, and snippets.

@ph33nx
Last active November 30, 2025 04:03
Show Gist options
  • Select an option

  • Save ph33nx/c5678771f1e3c2e907d1d93688473748 to your computer and use it in GitHub Desktop.

Select an option

Save ph33nx/c5678771f1e3c2e907d1d93688473748 to your computer and use it in GitHub Desktop.
WordPress Local Development Setup with Docker | LocalWP | Quick start guide for WordPress dev server with persistent data 2025

WordPress Local Development Environment with Docker

Quick setup for local WordPress development (plugins and themes) using Docker. Works with VSCode Remote - Containers.

1. Create a docker-compose.yml file with the following content in your project directory:

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-content

2. Create necessary directories for persistent data:

mkdir wp-content
mkdir db_data

3. Start the Docker containers:

docker-compose up -d

Access WordPress at: http://localhost:8080

4. Continue Development

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment