Deploy WordPress using docker-compose

by

in

Here is an example of how I used docker-compose to deploy my current WordPress install. All my containers are exposed directly into my network using an IPv4 address. To store persistent data I use persistent volumes.

Command to create the persistent volume:

user@hdockerhost:~# sudo docker volume create -d local-persist -o mountpoint=/data/prod/Prod-WP-App1 --name=Prod-WP-App1

Example docker-compose.yaml:


version: '3.3'

services:

  wordpress:
    image: wordpress
    container_name: Prod-WP-App1
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: IP from database
      WORDPRESS_DB_USER: !secrets!
      WORDPRESS_DB_PASSWORD: !secrets!
      WORDPRESS_DB_NAME: !secrets!
    volumes:
      - Prod-WP-App1:/var/www/html
    networks:
      6852JR54:
        ipv4_address: 172.16.X.X

  db:
    image: mysql:8.0
    container_name: Prod-WP-DB1
    restart: always
    environment:
      MYSQL_DATABASE: !secrets!
      MYSQL_USER: !secrets!
      MYSQL_PASSWORD: !secrets!
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - Prod-WP-DB1:/var/lib/mysql
    networks:
      6852JR54:
       ipv4_address: 172.16.X.X

networks:
  6852JR54:
    external: true

volumes:
  Prod-WP-App1:
    external: true
  Prod-WP-DB1:
    external: true

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *