El archivo Nginx Docker está configurado para enviar error.log a /dev/stderr.
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log Cuando ejecutamos los docker logs --tail=10 -f nginx , muestra una combinación de registro de errores y registro de acceso. ¿Hay un comando docker para que solo pueda ver los registros de error.log o stderr?
Pruebe este comando para obtener solo error.log:
docker logs -f nginx 1>/dev/nullY este para access.log:
docker logs -f nginx 2>/dev/nullDel fragmento de Dockerfile que agregó en su pregunta, parece que está utilizando la imagen oficial de NGINX.
La imagen de NGINX está configurada para enviar los registros principales de acceso y error de NGINX al recopilador de registros de Docker de forma predeterminada. Esto se hace vinculándolos a stdout y stderr, lo que hace que todos los mensajes de ambos registros se almacenen en el archivo/var/lib/docker/containers/\/\-json.log en Docker Host.
Un método es usar la API de Docker.
Puede habilitar la API de la ventana acoplable y consultar los registros de esa manera, en /etc/default/docker :
DOCKEROPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'Entonces:
http://<docker host>:4243/containers/<container name>/logs?stderr=1Ver:
https://www.docker.com/blog/tips-for-deploying-nginx-official-image-with-docker/