Docker-Compose
Deploy WordPress, MySQL, and a web server using Docker-Compose for a streamlined, efficient, and portable website hosting solution.
version: '3'
services:
db:
image: mysql:8.0
container_name: db
restart: unless-stopped
env_file: .env
environment:
- MYSQL_DATABASE=zchainblog
volumes:
- ./dbdata:/var/lib/mysql
command: '--default-authentication-plugin=mysql_native_password'
networks:
- zchain-network
wordpress:
depends_on:
- db
image: wordpress:5.1.1-fpm-alpine
container_name: wordpress
restart: unless-stopped
env_file: .env
environment:
- WORDPRESS_DB_HOST=db:3306
- WORDPRESS_DB_USER=$MYSQL_USER
- WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
- WORDPRESS_DB_NAME=zchainblog
volumes:
- ./wordpress-data:/var/www/html
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
networks:
- zchain-network
webserver:
depends_on:
- wordpress
image: nginx:1.15.12-alpine
container_name: webserver
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./wordpress-data:/var/www/html
- ./nginx-conf:/etc/nginx/conf.d
- ./certbot-etc:/etc/letsencrypt
- /etc/letsencrypt/live/blog.zus.network/fullchain.pem:/etc/letsencrypt/live/blog.zus.network/fullchain.pem
- /etc/letsencrypt/live/blog.zus.network/privkey.pem:/etc/letsencrypt/live/blog.zus.network/privkey.pem
networks:
- zchain-network
volumes:
wordpress:
dbdata:
networks:
zchain-network:
driver: bridge Last updated