【问题标题】:Is there any way to see logs in follow mode after docker-compose stop?在 docker-compose 停止后,有什么方法可以在跟随模式下查看日志?
【发布时间】:2017-07-12 13:48:41
【问题描述】:

比如我启动了我的系统:docker-compose up -d

然后我看到以下模式的日志: docker-compose logs -f

但如果我用docker-compose stop 停止系统,那么我的docker-compose logs -f 将退出。有没有办法“等待”直到系统启动?

【问题讨论】:

  • 当它们重新启动时,你总是可以这样做docker logs -f container_name_or_id
  • @user2915097 是的,我知道,我现在就这样做,但可能还有其他方法......

标签: docker logging docker-compose


【解决方案1】:

截至 2019 年,似乎没有办法做到这一点。

docker/compose#2227 暗示一旦没有更多容器运行,docker-compose logs -f 就会有意退出:

如果日志流完成(容器已停止)日志应该退出

【讨论】:

    【解决方案2】:

    我以前是这样的:

    while true ; do docker-compose -f docker-compose.dev.yml logs -f ; sleep 5 ; echo "Are you loopy?" ; done

    但是,由于 docker(-compose) 中的错误,当在第二个终端中调用 docker-compose -f docker-compose.dev.yml down 时,docker-compose logs 进程当前不会返回提示。

    【讨论】:

      【解决方案3】:

      你可以去/var/lib/docker/containers。名称为CONTAINER ID 的目录列表显示在此处。切换到那个目录,你会在那里找到日志文件。您可以查看包含日志的此文件。

      Eg. Container ID=2ef1023d82e8
      #cd /var/lib/docker/containers/2ef1023d82e8e71d81bcd7c9e933dc68aed5cfd2c7b69c286e11d3b483092515
      #ls
      2ef1023d82e8e71d81bcd7c9e933dc68aed5cfd2c7b69c286e11d3b483092515-json.log
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-01
        • 1970-01-01
        • 2018-12-22
        • 1970-01-01
        • 1970-01-01
        • 2016-09-08
        • 1970-01-01
        • 2012-06-18
        相关资源
        最近更新 更多