【问题标题】:Is there a way to find running time of containers when using `docker run -- rm`使用`docker run -- rm`时有没有办法找到容器的运行时间
【发布时间】:2020-10-29 20:25:02
【问题描述】:

我正在开发一个应用程序,该应用程序需要使用 docker run --rm MYIMAGE 之类的命令运行大量短期容器

我需要在容器退出后使用--rm来清理容器资源,以避免随着时间的推移耗尽系统资源。

现在我想知道这些容器平均运行了多长时间。 是否有一些关于执行了哪些容器以及它们运行了多长时间的系统级日志?或者这个信息在容器被移除后会消失吗?

【问题讨论】:

  • 我认为一旦容器被移除,您将找不到该信息。您可以使用time docker run --rm MYIMAGE 或类似方法主动测量时间。或者更好,docker run --rm MYIMAGE time <command>,排除容器启动开销。
  • 这里还提到了几件事:Measure execution time of docker container。你可能想看看...

标签: docker


【解决方案1】:

Docker 守护进程确实通过 events 记录容器的创建和删除。这些日志具有时间戳和对容器名称的规范引用,因此可以用于您的目的。

不幸的是,没有(AFAIK)一种在 docker 本身中持久保存 Docker 事件的好方法(它们不能被记录到文件中),但是您可以使用类似的东西

curl --no-buffer -XGET --unix-socket /var/run/docker.sock http://localhost/events

并将其重定向到某个地方以获取在主机上创建的 Docker 事件日志。

【讨论】:

    猜你喜欢
    • 2019-11-06
    • 1970-01-01
    • 2020-11-11
    • 2019-12-04
    • 1970-01-01
    • 2022-11-18
    • 2019-05-14
    • 2019-08-27
    • 2022-06-30
    相关资源
    最近更新 更多