Close

WordPress Docker – docker-compose.yml

version: '3.8'
services:
  db:
    image: mysql:8.0
    container_name: db
    restart: unless-stopped
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password # Replace with a secure password
      MYSQL_DATABASE: wordpress_db
      MYSQL_USER: wordpress_user
      MYSQL_PASSWORD: your_database_password # Replace with a secure password
  wordpress:
    depends_on:
      - db
    image: wordpress:latest # Uses the official WordPress image with Apache
    container_name: wordpress
    restart: unless-stopped
    ports:
      - "8080:80" # Access WordPress at http://localhost:8080
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress_db
      WORDPRESS_DB_USER: wordpress_user
      WORDPRESS_DB_PASSWORD: your_database_password
    volumes:
      - wordpress_data:/var/www/html # Persists WordPress files
volumes:
  db_data:
  wordpress_data: