容器重启后的docker logs -f

时间:2016-08-19 17:53:25

标签: docker

我正在使用docker logs -f mycontainer来检查日志。如果我按mycontainer然后docker rm -f mycontainer重新启动docker run -d --name mycontainer,我需要使用Ctrl-C,然后重新运行docker logs命令以获取日志。我想知道即使容器重启后我是否还有更好的方法来继续接收日志。

2 个答案:

答案 0 :(得分:2)

正如其他评论者提到的那样,“rm”命令正在销毁你的容器,而不是重启它。

但要回答你的问题,你可以使用类似的东西:

watch -n 0 "docker logs mycontainer"

对于已停止的容器,docker logs命令不会继续运行,但您可以使用“watch”命令实现类似的效果。因为它不是Docker命令,所以它不关心容器是否正在运行。

如果您使用的是Mac,则可能无法观看。它可以使用pip安装。使用单线程bash脚本可以实现同样的目的,但我发现手表更加整洁。

答案 1 :(得分:0)

2件事

docker rm -f mycontainer你没有停止你的容器,你正在杀死它,然后你开始另一个全新的

您可以使用docker stop mycontainer并开始或只是docker restart mycontainer来保存日志。

由于容器是无状态的,因此如果删除容器,则会丢失日志。在这种情况下,您必须使用卷来编写应用程序日志。它们将在主机上而不是容器中。