Volume mount when setting up Wordpress with docker

2019-07-06 05:18发布

问题:

Quickstart: Compose and WordPress proposes the following docker-compose.yml

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - dbdata:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    dbdata:

For persisting database data, a volume is created:

  • The docker volume db_data persists any updates made by Wordpress to the database.

but nothing is mentioned about the wordpress container...

Questions:

  1. should I follow the same approach and create volumes for the wordpress container, in order to persist the data that are going to be added (by posts, uploads, themes)?
  2. If yes, which paths / directories should I point to?

回答1:

Maybe I've found something...

volumes:
   - wp-content:/var/www/html/wp-content

According to this article:

...wp-content contains all user-supplied content. Basically anything you can upload to your site ends up here. That doesn’t include anything you write, mind you. Those things are stored in the WordPress database.

However, as long as you have both the database and your wp-content folder, you can always get your site back, even if everything else was lost.

This is also applied here: Setting up WordPress with Docker