Попытка запустить образ docker nginx с помощью docker-compose на Fedora Coreos, 13: отказано в разрешении
При попытке запустить образ nginx docker-compose с помощью sudo docker-compose up я получаю следующую ошибку:
production_nginx | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
production_nginx | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
production_nginx | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
production_nginx | 10-listen-on-ipv6-by-default.sh: /etc/nginx/conf.d/default.conf is not a file or does not exist, exiting
production_nginx | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
production_nginx | /docker-entrypoint.sh: Configuration complete; ready for start up
production_nginx | nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
production_nginx | 2020/07/04 22:04:37 [emerg] 1#1: open() "/var/log/nginx/error.log" failed (13: Permission denied)
Мой файл для создания докеров выглядит так:
version: "3.7"
services:
nginx:
image: nginx:latest
container_name: production_nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /etc/letsencrypt/:/etc/letsencrypt/
- /opt/nginx_cache/:/opt/nginx_cache/
- /var/home/core/config/nginx/dhparam.pem:/etc/nginx/dhparam.pem
- /var/home/core/config/nginx/conf.d/:/etc/nginx/conf.d/
- /var/home/core/config/files/:/var/home/core/config/files/
- /var/home/core/config/nginx/nginx.conf:/etc/nginx/nginx.conf
- /var/log/nginx/:/var/log/nginx/
networks:
- proxynet
- abnet
- dsnet
Разрешение папки /var/log/nginx
выглядит так: drwxr-xr-x. 2 root root 41 Jul 4 22:04 nginx
Я поместил файл в песочницу следующим образом: sudo chcon -Rt svirt_sandbox_file_t /var/log/nginx
.
Вероятно, SELinux блокирует доступ, но не предлагайте отключать его, так как я собираюсь запускать его с включенным!
1 ответ
Добавьте :Z ко всем вашим монтируемым томам: - /etc/letsencrypt/:/etc/letsencrypt/:Z и это должно работать (что такое флаг 'z' в опции Volumes-from док-контейнера?).