hug*_*Duf 14 nginx ownership docker docker-compose macos-catalina
我需要你的帮助来理解我的问题。
上周我用 Catalina 更新了我的 macintosh,然后我更新了 docker for mac。
自从这些更新以来,我在共享卷上遇到了所有权问题。
我可以用一个小例子来重现。我只是创建了一个小的 docker-compose 来构建一个 nginx 容器。我有一个文件夹 src,里面有一个像“src/index.php”这样的 PHP 文件。
我构建容器并启动它。然后我去/app/www/mysrc(共享卷)并用胶带“ls -la”检查index.php是否正常,我得到:
ls: cannot open directory '.': Operation not permitted
Run Code Online (Sandbox Code Playgroud)
这是一个简单的 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
Run Code Online (Sandbox Code Playgroud)
当我构建并启动容器时,我得到:
$ 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
Run Code Online (Sandbox Code Playgroud)
所以,我的 nginx 服务器关闭了,因为 nginx 无法访问源文件。
谢谢你的帮助。
yzT*_*yzT 34
如果它在更新到 Catalina 之前工作,则问题是由于 Catalina 请求的新权限。
现在,macOS 请求所有内容的权限,甚至是访问目录。因此,可能您收到了关于授予 Docker for Mac 访问共享文件夹权限的通知,但您没有授予它,现在您正面临此类操作的结果。
要立即授予权限,请转到系统首选项 > 安全和隐私 > 文件和文件夹,然后添加 Docker for Mac 和您的共享目录。
| 归档时间: |
|
| 查看次数: |
14173 次 |
| 最近记录: |