我很难将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文件夹,但没有任何成功
答案 0 :(得分:2)
我解决了这个问题。 在 docker-compose up -d 之后,我确实使用 docker cp
将内部文件夹模块,主题和覆盖复制到主机因为Prestashop会检查所有文件是否都可用。
复制后,您可以运行prestashop安装程序。