【发布时间】:2015-02-12 02:29:36
【问题描述】:
我希望能够在容器退出后轻松清理它们。这可以通过远程 API 实现吗? (除了自己发现出口并使用 DELETE/containers 端点删除)
【问题讨论】:
标签: docker
我希望能够在容器退出后轻松清理它们。这可以通过远程 API 实现吗? (除了自己发现出口并使用 DELETE/containers 端点删除)
【问题讨论】:
标签: docker
larsks 的答案现在已经过时了。 Docker 远程 API 1.25 shifted --rm functionality from client to server。在创建一个完全执行此操作的容器时,有一个 AutoRemove flag under HostConfig。
【讨论】:
Docker 客户端中的--rm 选项完全是客户端选项。这就是为什么您不能将 -d 与 --rm 结合使用的原因——因为客户端只有在容器保持连接到容器时才能在退出时移除容器。
您可以编写一个定期运行docker ps -f status=exited -q 并清理结果的清理脚本。
我猜,您还可以通过监控 Docker API 的 /events 端点并立即响应容器退出来实现更自动化的操作。
【讨论】: