gpt4 book ai didi

docker - Nginx 日志未显示

转载 作者:行者123 更新时间:2023-12-02 16:17:34 25 4
gpt4 key购买 nike

我有一个运行 nginx 的 docker,端口转发到 8080

我只想在点击时查看nginx中的日志

curl http://localhost:8080

(我得到了答案,但我想查看日志)

access.log 和 error.log 都在/etc/nginx/nginx.conf 中启用

user  nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;


events {
worker_connections 1024;
}


http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

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;

sendfile on;
#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

include /etc/nginx/conf.d/*.conf;
}

tail -f access.log 和 cat access.log 都不起作用。我得到的只是一个空行:

root@fe0f47477548:/var/log/nginx# cat access.log

^C
root@fe0f47477548:/var/log/nginx#

最佳答案

NGINX docker 分发重定向(软链接(soft link))日志到 stdout/stderr

lrwxrwxrwx 1 root root 11 Feb 17 19:20 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Feb 17 19:20 error.log -> /dev/stderr

来自 Docker 主机

您可以使用 Docker 日志访问日志

docker logs nginx

从 Docker 容器内部

可以删除标准 NGINX Docker 镜像中定义的日志转发。
这需要创建自定义 Dockerfile(即 mynginx),但这是一个简单的更改

FROM nginx:latest

# drop symlinks
RUN unlink /var/log/nginx/access.log
RUN unlink /var/log/nginx/error.log

当运行新定义的容器时,可以在 /var/logs/nginx 中看到日志文件

-rw-r--r-- 1 root root 491 Feb 19 13:14 access.log
-rw-r--r-- 1 root root 0 Feb 19 13:14 error.log

root@ca2472f28be5:/var/log/nginx# cat access.log
72.25.0.1 - - [19/Feb/2021:13:15:55 +0000] "GET
/static/js/main.f81cbe58.chunk.js HTTP/1.1" 304 0 "http://localhost/"
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36" "-"

关于docker - Nginx 日志未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66261553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com