【问题标题】:Does the Docker remote API have an equivalent for "docker run --rm ..."?Docker 远程 API 是否具有“docker run --rm ...”的等价物?
【发布时间】:2015-02-12 02:29:36
【问题描述】:

我希望能够在容器退出后轻松清理它们。这可以通过远程 API 实现吗? (除了自己发现出口并使用 DELETE/containers 端点删除)

【问题讨论】:

    标签: docker


    【解决方案1】:

    larsks 的答案现在已经过时了。 Docker 远程 API 1.25 shifted --rm functionality from client to server。在创建一个完全执行此操作的容器时,有一个 AutoRemove flag under HostConfig

    【讨论】:

    • 可能会晚几年,但这应该是现在公认的答案。
    【解决方案2】:

    Docker 客户端中的--rm 选项完全是客户端选项。这就是为什么您不能将 -d--rm 结合使用的原因——因为客户端只有在容器保持连接到容器时才能在退出时移除容器。

    您可以编写一个定期运行docker ps -f status=exited -q 并清理结果的清理脚本。

    我猜,您还可以通过监控 Docker API 的 /events 端点并立即响应容器退出来实现更自动化的操作。

    【讨论】:

    • 好详细的解释!
    猜你喜欢
    • 2018-10-25
    • 2013-07-20
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 2022-08-24
    • 2017-11-10
    • 2020-11-11
    相关资源
    最近更新 更多