【发布时间】:2020-06-02 22:08:31
【问题描述】:
将var/cache 和var/sessions 从主机安装到容器会导致大量加载时间。我怎么能忽略这些目录,这样我就不需要等待我的机器上的 var 目录和容器同步了?
version: "3"
volumes:
var:
vendor:
services:
php:
container_name: grozissaviems_php
build:
context: docker/php
args:
ENV: ${ENV}
APP: symfony
volumes:
- .:/var/www/html:delegated
- var:/var/www/html/var
- vendor:/var/www/html/vendor
- ./logs/symfony:/var/www/html/var/logs
nginx:
container_name: grozissaviems_nginx
build:
context: docker/nginx
args:
ENV: ${ENV}
ports:
- 5000:80
volumes:
- .:/var/www/html:delegated
- var:/var/www/html/var
- vendor:/var/www/html/vendor
- ./logs/nginx:/var/log/nginx
command: "nginx"
运行容器后,如果我进入,我会收到缓存权限不正确的错误。
如果我启动一个脚本来授予 var/* 权限
docker exec -it grozissaviems_php bash -c 'mkdir -p var/cache var/logs var/sessions'
docker exec -it grozissaviems_php bash -c 'chmod -R 777 var/cache var/logs var/sessions'
现在由于某种原因页面已加载(布局损坏,但没有错误),但在 dev.log 我得到:
cache.WARNING: 保存密钥失败 "%5BSymfony%5CBundle%5CWebProfilerBundle%5CController%5CProfilerController%5D%5B1%5D" (大批) {"key":"%5BSymfony%5CBundle%5CWebProfilerBundle%5CController%5CProfilerController%5D%5B1%5D","type":"array","exception":"[object] (错误异常(代码:0): 重命名(/var/www/html/var/cache/dev/pools/zjgXxX8mSM/5ed64142f0b543.18899510,/var/www/html/var/cache/dev/pools/zjgXxX8mSM/J/P/W1NfrOIzF1l75zOKFhaN): 没有这样的文件或目录 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php:93)"} []
我的docker-compose.yml 有问题吗?有什么我错过的吗?
【问题讨论】:
-
我认为您的问题是您在
docker exec中使用的路径不正确,请尝试使用绝对路径而不是相对路径,看看会发生什么
标签: docker symfony docker-compose