docker 组合卷的文件权限不正确? 13:权限被拒绝

Incorrect permissions for file with docker compose volume? 13: Permission denied

我有以下 docker_compose.yaml:

version: "3.8"

services:
  reverse-proxy:
    image: nginx:1.17.10
    container_name: reverse_proxy
    volumes:
      - ../nginx/nginx.conf:/etc/nginx/nginx.conf
    ports:
      - "8050:8050"
      - "8051:8051"
  webapp:
    image: my-site
    command: --port 8050 8051 --debug yes
    volumes:
      - /home/user/data:/data
    ports:
      - "8050:8050"
      - "8051:8051"
    depends_on:
      - reverse-proxy

当我通过 docker 运行 撰写时,出现以下错误:

$ sudo docker-compose -f /home/user/docker_compose.yaml up
...
reverse_proxy    | 2022/03/09 00:49:19 [emerg] 1#1: open() "/etc/nginx/nginx.conf" failed (13: Permission denied)
reverse_proxy    | nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (13: Permission denied)
reverse_proxy exited with code 1

所以为了调查,我重新运行 只是 nginx 容器:

$ sudo docker run -v ../nginx/nginx.conf:/etc/nginx/nginx.conf -t docker.io/nginx tail -f /dev/null

ssh 进来了,我看到了:

root@d8e84f89fcad:/# ls -la /etc/nginx/
ls: cannot access '/etc/nginx/nginx.conf': Permission denied
total 20
drwxr-xr-x. 3 root root  132 Mar  1 14:00 .
drwxr-xr-x. 1 root root   66 Mar  9 00:54 ..
drwxr-xr-x. 2 root root   26 Mar  1 14:00 conf.d
-rw-r--r--. 1 root root 1007 Jan 25 15:03 fastcgi_params
-rw-r--r--. 1 root root 5349 Jan 25 15:03 mime.types
lrwxrwxrwx. 1 root root   22 Jan 25 15:13 modules -> /usr/lib/nginx/modules
-?????????? ? ?    ?       ?            ? nginx.conf
-rw-r--r--. 1 root root  636 Jan 25 15:03 scgi_params
-rw-r--r--. 1 root root  664 Jan 25 15:03 uwsgi_params

我咨询了 和其他人,他们似乎建议重新启动 docker 服务,所以我做了,我仍然获得 ? 重新启动 运行 的权限]宁.

我认为这是导致权限错误的原因?如果是这样,如何在此 nginx 配置文件上设置正确的权限?这真的是卷权限问题吗?

版本:

Docker version 1.13.1, build 7d71120/1.13.1
docker-compose version 1.29.2, build 5becea4c
CentOS 7

我认为这是一个 SELinux 问题,将 :z 附加到卷修复它。

volumes:
      - ../nginx/nginx.conf:/etc/nginx/nginx.conf:z