1

我正在用 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": .

这可能是因为目录权限?:

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

我想我错过了一些东西。任何帮助,将不胜感激

4

1 回答 1

1

正如symfony 问题 2600中所评论的那样

如果您在 Windows 主机上使用 Linux VirtualBox,则可以“轻松地”重现此问题。

[这里可能就是这种情况,使用boot2dockerDocker Toolbox代替Docker for Windows及其 Hyper-V]

cache:clear永远无法删除app/cache/dev_old- 但这可能是 VirtualBox 提供的共享文件夹系统的问题(阅读他们论坛上的类似问题)。

您必须升级VirtualBox Guest Additions

OP Bertuz在评论中指出“将boot2docker 更改为在 OS X 中使用 NFS 进行本地挂载”及其file-nfs-mount-boot2docker-sh要点(以及更新的要点)。

于 2016-10-30T22:48:27.893 回答