

docker-compose.yml
version: '3.8'
services:
mysql:
image: mysql:latest
container_name: mysql_container
restart: always
environment:
MYSQL_ROOT_PASSWORD: IL0ve<<Kil0w0tt>>
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./mysql-init:/docker-entrypoint-initdb.d
networks:
- wp1_net
- wp2_net
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin_container
restart: always
depends_on:
- mysql
environment:
PMA_HOST: mysql
MYSQL_ROOT_PASSWORD: IL0ve<<Kil0w0tt>>
ports:
- "8080:80"
networks:
- wp1_net
wordpress1:
image: wordpress:latest
container_name: wordpress1
restart: always
ports:
- "8081:80"
environment:
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_NAME: wp1_db
WORDPRESS_DB_USER: wp1_user
WORDPRESS_DB_PASSWORD: wp1_pass
volumes:
- wordpress1_data:/var/www/html
networks:
- wp1_net
wordpress2:
image: wordpress:latest
container_name: wordpress2
restart: always
ports:
- "8082:80"
environment:
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_NAME: wp2_db
WORDPRESS_DB_USER: wp2_user
WORDPRESS_DB_PASSWORD: wp2_pass
volumes:
- wordpress2_data:/var/www/html
networks:
- wp2_net
volumes:
mysql_data:
wordpress1_data:
wordpress2_data:
networks:
wp1_net:
wp2_net:
two-wordpress-by-single-docker-compose-file\mysql-init\init.sql
CREATE DATABASE IF NOT EXISTS wp1_db;
CREATE DATABASE IF NOT EXISTS wp2_db;
CREATE USER IF NOT EXISTS 'wp1_user'@'%' IDENTIFIED BY 'wp1_pass';
CREATE USER IF NOT EXISTS 'wp2_user'@'%' IDENTIFIED BY 'wp2_pass';
GRANT ALL PRIVILEGES ON wp1_db.* TO 'wp1_user'@'%';
GRANT ALL PRIVILEGES ON wp2_db.* TO 'wp2_user'@'%';
FLUSH PRIVILEGES;
