# docker-compose.yaml

version: '2' # version of docker-compose to use

services: # configuring each container
  db: # name of our mysql container
    image: mysql:5.7 # which image to pull, in this case specifying v. 5.7
    volumes: # data to map to the container
      - ./data:/docker-entrypoint-initdb.d # where to find our data -- we'll talk more about this
    restart: always # always restart the container after reboot
	ports:
	  - "3306:3306"
    environment: # environment variables -- mysql options in this case
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress: # name of our wordpress container
    depends_on: # container dependencies that need to be running first
      - db
    image: wordpress:latest # image used by our container
    ports:
      - "8000:80" # setting our ports for networking
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306 # default mysql port
      WORDPRESS_DB_PASSWORD: wordpress # matches the password set in the db container
    volumes: # this is where we tell Docker what to pay attention to
      - ./wp-content/themes/my-theme:/var/www/html/wp-content/themes/my-theme # mapping our custom theme to the container
      - ./wp-content/plugins:/var/www/html/wp-content/plugins # map our plugins to the container
      - ./wp-content/uploads:/var/www/html/wp-content/uploads # map our uploads to the container
	  