# create a local .env file with the following 4 properties: # # MYSQL_DATABASE= # MYSQL_USER= # MYSQL_PASSWORD= # MYSQL_ROOT_PASSWORD= # # Note: I have had a LOT of issues working with anything newer then Docker Desktop v4.26.1 # If you're on something newer, then double check against this release. # # I also have a video going through this here: https://www.youtube.com/watch?v=gEceSAJI_3s version: "3.8" services: database: # We use a mariadb image which supports both amd64 & arm64 architecture image: mariadb:10.6.4-focal restart: unless-stopped ports: - 3306:3306 env_file: .env environment: MYSQL_ROOT_PASSWORD: '${MYSQL_ROOT_PASSWORD}' MYSQL_DATABASE: '${MYSQL_DATABASE}' MYSQL_USER: '${MYSQL_USER}' MYSQL_PASSWORD: '${MYSQL_PASSWORD}' volumes: - db-data:/var/lib/mysql networks: - wordpress-network deploy: resources: limits: memory: 2048m phpmyadmin: depends_on: - database image: phpmyadmin/phpmyadmin restart: unless-stopped ports: - 8081:80 env_file: .env environment: PMA_HOST: database MYSQL_ROOT_PASSWORD: '${MYSQL_ROOT_PASSWORD}' networks: - wordpress-network wordpress: depends_on: - database image: wordpress:6.2.2-apache restart: unless-stopped ports: - 8080:80 env_file: .env environment: WORDPRESS_DB_HOST: database:3306 # use the same name as database service WORDPRESS_DB_NAME: '${MYSQL_DATABASE}' WORDPRESS_DB_USER: '${MYSQL_USER}' WORDPRESS_DB_PASSWORD: '${MYSQL_PASSWORD}' volumes: - ./wp-content:/var/www/html/wp-content networks: - wordpress-network volumes: db-data: networks: wordpress-network: driver: bridge