Я определяю два уровня журнала в моем файле конфигурации Nginx
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
...
}
и на сервере
server {
access_log /var/log/nginx/nginx_access.log;
error_log /var/log/nginx/nginx_error.log;
location / {
...
}
}
Мой docker-compose.yaml
services:
nginx:
build:
context: ./nginx
restart: always
volumes:
- logs:/var/log/nginx
ports:
- "80:80"
depends_on:
- django
...
volumes:
logs:
Но когда я запускаю контейнеры в журналы / где нет access.log, nginx_erro.log, nginx_acess.log или ни одна папка / файл, созданные NGINX, но когда я проверяю контейнер NGINX, файлы там.
Я что-то забываю?
Как вы пытаетесь получить доступ к журналам на вашем хосте докеров?
Попробуйте сопоставить именованный том на вашем хосте:
services:
nginx:
build:
context: ./nginx
restart: always
volumes:
- logs:/var/log/nginx
ports:
- "80:80"
depends_on:
- django
...
volumes:
logs:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/path/on/your/docker/host/to/mount'
И проверьте, доступны ли файлы доступа и ошибок!
С уважением,
маэси