ale*_*olk 8 nginx hang cat docker
我最近拉了一张nginx图片:
docker pull nginx
Run Code Online (Sandbox Code Playgroud)
我可以成功运行它并转到http:// server_name并查看"欢迎使用Nginx"页面:
docker run -d -p 80:80 nginx
Run Code Online (Sandbox Code Playgroud)
但是当我尝试检查日志时:
docker exec 6c79549e3eb4f6e5fc06f049b67814ac4560ce2cdd7cc6ae84b44b5ae09a9a05 cat /var/log/nginx/access.log
Run Code Online (Sandbox Code Playgroud)
它只是挂起并输出任何内容.与错误日志相同.现在,如果我在同一个文件夹中创建一个test.txt文件并使用docker exec来(查看)cat该文件,我执行时不会挂起或出现任何问题.
即使我尝试在交互模式下运行它,它只是挂起:
docker run -i -t -p 80:80 nginx
Run Code Online (Sandbox Code Playgroud)
终端再次挂起在下一行无所事事,但它似乎工作,因为我可以访问nginx欢迎页面.
真的很困惑,我试图寻找这个问题,但到目前为止还没有找到任何解决方案.无法查看日志,调试将非常困难:)也不应该将访问日志移动到nginx容器中的stdout,因为通过docker containers登录到stdout?
Sab*_*bin 14
如果你进入容器docker exec -it <container-id> /bin/bash并检查日志位置ls -la /var/log/nginx/,你会看到以下输出:
lrwxrwxrwx 1 root root 11 Apr 30 23:05 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Apr 30 23:05 error.log -> /dev/stderr
显然,日志是用stdout写的.您也可以尝试cat access.log在容器内部进行操作,但仍然没有显示任何内容.
现在,获取日志的正确方法是在容器之外进行docker logs <container-id>
然后,您将看到您的日志.希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1759 次 |
| 最近记录: |