运行Nginx Docker或cat日志时无法使用-lt

前端之家收集整理的这篇文章主要介绍了运行Nginx Docker或cat日志时无法使用-lt前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我最近拉了一张Nginx图片

docker pull Nginx

我可以成功运行它并转到http://server_name并看到“欢迎使用Nginx页面

docker run -d -p 80:80 Nginx

但是当我尝试检查日志时:

docker exec 6c79549e3eb4f6e5fc06f049b67814ac4560ce2cdd7cc6ae84b44b5ae09a9a05 cat /var/log/Nginx/access.log

它只是挂起并输出任何内容.与错误日志相同.现在,如果我在同一个文件夹中创建一个test.txt文件并使用docker exec来(查看)cat该文件,我执行时不会挂起或出现任何问题.

即使我尝试在交互模式下运行它,它只是挂起:

docker run -i -t -p 80:80 Nginx

终端再次挂在下一行无所事事,但它似乎工作,因为我可以访问Nginx欢迎页面.

真的很困惑,我试图寻找这个问题,但到目前为止还没有找到任何解决方案.无法查看日志,调试将非常困难:)也不应该将访问日志移动到Nginx容器中的stdout,因为通过docker containers登录到stdout?

如果你进入容器docker exec -it< container-id> / bin / bash并检查日志位置ls -la / var / log / Nginx /,您将看到以下输出

lrwxrwxrwx 1 root root 11 Apr 30 23:05 access.log – >的/ dev /标准输出
lrwxrwxrwx 1 root root 11 Apr 30 23:05 error.log – >的/ dev /标准错误

显然,日志是用stdout编写的.您也可以尝试在容器内部执行cat access.log,但它仍然没有显示任何内容.
现在,获取日志的正确方法是在容器外部并执行docker日志< container-id>
然后,您将看到您的日志.
希望这可以帮助!

猜你在找的Nginx相关文章