&引用;“不允许操作”;从docker容器记录为root

&引用;“不允许操作”;从docker容器记录为root,docker,nginx,docker-compose,ownership,macos-catalina,Docker,Nginx,Docker Compose,Ownership,Macos Catalina,我需要你的帮助来理解我的问题 上周我用Catalina更新了我的macintosh,然后更新了mac的docker 由于这些更新,我在共享卷上出现了所有权问题 我可以用一个小例子来复述。我只是创建了一个小的docker compose,它构建了一个nginx容器。 我有一个文件夹src,里面有一个类似于“src/index.PHP”的PHP文件 我构建容器并启动它。 然后我转到/app/www/mysrc(共享卷)并用磁带“ls-la”检查index.php是否正常,我得到: ls: canno

我需要你的帮助来理解我的问题

上周我用Catalina更新了我的macintosh,然后更新了mac的docker

由于这些更新,我在共享卷上出现了所有权问题

我可以用一个小例子来复述。我只是创建了一个小的docker compose,它构建了一个nginx容器。 我有一个文件夹src,里面有一个类似于“src/index.PHP”的PHP文件

我构建容器并启动它。 然后我转到/app/www/mysrc(共享卷)并用磁带“ls-la”检查index.php是否正常,我得到:

ls: cannot open directory '.': Operation not permitted
下面是一个简单的docker compose文件: docker-compose.yml:

version: "3"

services:
  test-nginx:
    restart: always
    image: 'nginx:1.17.3'
    ports:
      - "8082:80"
    volumes:
      - ./src:/app/www/mysrc
当我构建并启动容器时,我得到:

$ docker-compose exec test-nginx sh
# cd /app/www
# ls -la
total 8
drwxr-xr-x 3 root root 4096 Oct 21 07:58 .
drwxr-xr-x 3 root root 4096 Oct 21 07:58 ..
drwxr-xr-x 3 root root   96 Oct 21 07:51 mysrc
# cd mysrc
# ls -la
ls: cannot open directory '.': Operation not permitted
# whoami
root
因此,我的nginx服务器关闭了,因为nginx无法访问源文件


感谢您的帮助。

如果它在更新Catalina之前工作,则问题是由于Catalina请求的新权限

现在,macOS请求对所有内容的权限,甚至是访问目录。因此,可能您收到了一个关于授予Docker for Mac访问共享文件夹的权限的通知,但您没有授予该权限,现在您正面临此类操作的结果


要立即授予特权,请转到系统首选项>安全和隐私>文件和文件夹,并添加Mac Docker和您的共享目录。

我丢失了一整天。我以为我在代码的某个地方出错了。原来只是一个新的卡塔琳娜政策救了我一天!!祝福你!遗憾的是,你不能直接添加应用程序,除非它要求。你可以给Docker完整的磁盘访问权限,这应该可以解决这个问题,直到苹果公司决定允许我们选择一个文件夹,让第三方访问。Docker Desktop for Mac OS Big Sur也一样。。。那真是浪费了两个小时。谢谢你。