# 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