【发布时间】:2020-10-08 23:05:34
【问题描述】:
让我们使用这个docker-compose.yml:
version: '2'
services:
db:
image: mysql:5.7
volumes:
- ./mysql:/var/lib/mysql # <- important
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wp:/var/www/html # <- important
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
我注意到:
-
什么时候做
mkdir wp docker-compose up # create a basic Wordpress website from the browser # stop the containers from the command-line with CTRL+C然后,
./wp/(最初为空)将填充新的 Wordpress 文件 (**)。这是正常的。 -
那就开始吧
docker rm wordpress_1 db_1 # remove the existing containers but keep # ./wp/ as it has been created in the previous step (**) docker-compose up在重新创建容器期间,
./wp/不会被新的 Wordpress 文件覆盖,而是保留上一步 (**) 中的先前文件!为什么?它如何神奇地知道 新 Wordpress 文件应该不被写入,而是应该保留以前的文件?
问题:docker 如何决定 volumes: 中列出的 /hostdir/:/containerdir/ 是否应该覆盖原始 docker 映像中已经存在的文件?
【问题讨论】:
-
我在这里发布了一个问题:github.com/docker-library/wordpress/issues/536
标签: wordpress docker docker-compose