文件夹权限docker-osx-dev

时间:2016-09-11 13:58:01

标签: docker docker-compose dockerfile docker-machine

我在使用docker-osx-dev(https://github.com/brikis98/docker-osx-dev)的macOS上使用docker 一切都好。它帮助我解决了慢速卷的问题。但每次当我登上我的docker-compose时我都有权限问题而我被迫通过docker exec和chmod设置权限......我花了很多时间来寻找解决方案。我尝试使用501和1000 id的usermod,但没有任何帮助。你知道怎么解决它吗? 我的项目设置:https://bitbucket.org/SmileSergey/symfonydocker/src 谢谢!

3 个答案:

答案 0 :(得分:0)

您可以将http://docker-sync.iohttps://github.com/EugenMayer/docker-sync/blob/master/example/docker-sync.yml#L47一起使用,将OSX用户映射到容器上的uid。这将消除整个问题,即使这将完全取代docker-osx-dev。

答案 1 :(得分:0)

作为一种快速解决方法,您可以尝试将命令添加到your docker-compose.yml的nginx部分,如下所示:

  nginx:
    image: nginx:latest
    ...
    volumes:
      - "./config/nginx.conf:/etc/nginx/conf.d/default.conf"
      - "./app:/var/www/symfony"
    command: /bin/bash -c "chmod -R 777 /var/www/symfony/ && nginx -g 'daemon off;'"

背景:

官方nginx Dockerfile指定以下默认命令:

CMD ["nginx", "-g", "daemon off;"]
正在执行的

nginx -g 'daemon off;'

您已经找到了一个快速而又脏的解决方法,可以在容器中运行chmod -R 777 /var/www/symfony/

使用上面docker-compose文件中的命令,我们在执行chmod默认命令之前执行nginx -g 'daemon off;'命令。

请注意,Dockerfile中指定的CMD将替换为docker-compose文件(或docker run ... myimage mycommand上指定的任何命令)上定义的命令。)

答案 2 :(得分:-2)

对于开发OSX,只需使用vagrant + nfs共享文件夹。它解决了所有问题,并没有要求为开发者添加任何特殊的docker-compose。