【发布时间】:2016-06-13 16:39:40
【问题描述】:
我很难将 2 个容器链接在一起,因此建议我开始使用 docker-compose。 所以我构建了以下 docker-compose 文件:
version: '2'
services:
db:
image: mysql:latest
volumes:
- "./.data/db:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: my-pass
MYSQL_DATABASE: prestashop
MYSQL_USER: my-shop
MYSQL_PASSWORD: my-pass
prestashop:
depends_on:
- db
image: prestashop/prestashop:latest
volumes:
- "./.data/themes:/var/www/html/themes"
- "./.data/modules:/var/www/html/modules"
- "./.data/override:/var/www/html/override"
links:
- db
ports:
- "10083:80"
restart: always
environment:
DB_SERVER: db
DB_NAME: prestashop
DB_USER: my-shop
DB_PASSWD: my-pass
这很好用,如果我通过反向 nginx 代理访问该页面,我会得到初始安装向导。
但如果我添加持久数据卷:
volumes:
- "./.data/themes:/var/www/html/themes"
- "./.data/modules:/var/www/html/modules"
- "./.data/override:/var/www/html/override"
向导会抱怨许多读/写访问。 这是为什么?我猜内部卷确实有正确的 chmod 吗? 所以我认为这只是一个同步问题。 但我尝试 chmod 或 chown .data 文件夹,但没有任何成功
【问题讨论】:
-
我发现 docker-compose 正在映射卷,但是因为刚刚创建文件夹,所以它们是空的。有没有办法将默认数据从 var/www/html 同步到我的主机?
标签: prestashop docker-compose chmod chown