如何从 Docker 内部访问 nginx 服务器日志?

如何从 Docker 内部访问 nginx 服务器日志?

我让 Nginx 将请求从浏览器路由到 Express API 或我的 React 服务器,但是,在控制台中我继续收到处于待处理状态的 xhr 请求,然后超时并出现 502 错误网关错误,这通常是由于 Nginx 无法将请求传递到“上游”,在这种情况下是我的 Express API,通常我可以检查文件/var/log/nginx/,但当所有这些都发生在 Docker 容器中时,我不确定该如何做到这一点。

我已经尝试过这种docker logs <container name/id>命令方法,但是我得到了Error: No such container: <container-id>

运行后,我从最后一行获取了容器 ID docker-compose up --build,它说Successfully built <container-id>

我复制了该 id 并docker logs <container-id>在我的 iTerm 中的第二个面板上运行。

然后我做了一个docker ps并得到了这个输出:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
f37be54a9e60        complexly_api       "npm run dev"            43 minutes ago      Up 28 minutes                              complexly_api_1
9b87bc0aa343        complexly_nginx     "nginx -g 'daemon of…"   About an hour ago   Up 28 minutes       0.0.0.0:3050->80/tcp   complexly_nginx_1
1e30a05f8e28        complexly_worker    "npm run dev"            About an hour ago   Up 28 minutes                              complexly_worker_1
65611b5a6b05        complexly_client    "npm run start"          About an hour ago   Up 28 minutes                              complexly_client_1
9182b26fb402        redis:latest        "docker-entrypoint.s…"   About an hour ago   Up 28 minutes       6379/tcp               complexly_redis_1
8ca3596d8a50        postgres:latest     "docker-entrypoint.s…"   8 days ago          Up 28 minutes       5432/tcp               complexly_postgres_1

我相信我需要抓住其中一个容器 ID 并执行此docker logs操作,但我不确定。

答案1

问题似乎是我docker logs在错误的容器上运行。

通过运行,docker ps我看到了正在运行的不同容器,并复制了标记的容器 ID complexly_nginx,并能够获取我正在寻找的日志。

相关内容