我正在开发一个带有docker的symfony应用程序。 我'共享一个主机卷,它应该包含我应该用apache运行的项目。
docker run -d -ti --name web -p 80:80 -v /Users/Matteo/Documents/em3:/var/www/html/applications ubuntu /bin/bash
作为基本图像,我使用了ubuntu,我已经安装了apache和PHP7。一切正常,但当我进入我的码头时:
docker exec -it web /bin/bash
root@85a23559d01b:/var/www/html/applications/auth# app/console cache:clear --env=dev
[Symfony\Component\Filesystem\Exception\IOException]
Failed to remove directory "/var/www/html/applications/auth/app/cache/de~/jms_serializer": .
这可能是因为dir权限?:
root@85a23559d01b:/var/www/html/applications/auth/app# ls -al | grep cache
drwxr-xr-x 1 1000 staff 374 Oct 30 21:50 cache
chmod
没有任何改变:
root@85a23559d01b:/var/www/html/applications/auth/app# chmod g+w cache
root@85a23559d01b:/var/www/html/applications/auth/app# ls -al | grep cache
drwxr-xr-x 1 1000 staff 374 Oct 30 21:50 cache
我想我错过了一些东西。任何帮助将不胜感激
答案 0 :(得分:1)
你可以轻松地"如果在Windows主机上使用Linux VirtualBox,则重现此操作。
[这可能是这种情况,使用Docker Toolbox中的boot2docker
代替Docker for Windows及其Hyper-V
cache:clear
永远无法移除app/cache/dev_old
- 但这可能是VirtualBox提供的共享文件夹系统的问题(在他们的论坛上阅读类似问题)。
OP Bertuz指出in the comments至" Changing boot2docker to use NFS for local mounts in OS X"及其file-nfs-mount-boot2docker-sh要点(以及more recent one)。