Prestashop 如何处理对docker卷的写/读访问?
我很难将两个容器链接在一起,有人建议我开始使用docker compose。 因此,我构建了以下docker compose文件:Prestashop 如何处理对docker卷的写/读访问?,prestashop,docker-compose,chmod,chown,Prestashop,Docker Compose,Chmod,Chown,我很难将两个容器链接在一起,有人建议我开始使用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 MYSQ
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 up-d之后,我用docker cp将内部文件夹模块、主题和覆盖复制到主机上
因为Prestashop将检查所有文件是否可用
复制后,您可以运行prestashop安装过程。我解决了这个问题。
在docker compose up-d之后,我用docker cp将内部文件夹模块、主题和覆盖复制到主机上
因为Prestashop将检查所有文件是否可用
复制后,您可以运行prestashop安装过程。我发现docker compose正在映射卷,但因为文件夹刚刚创建,所以它们是空的。有没有办法将默认数据从var/www/html同步到我的主机?我发现docker compose正在映射卷,但因为文件夹刚刚创建,所以它们是空的。有没有办法将默认数据从var/www/html同步到我的主机?