我让 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
,并能够获取我正在寻找的日志。