我目前正在学习Docker,并建立了一个包含一个管理节点和一个集群节点的Swarm。
我运行了一个复制数为2的Stack,一切都很好。当容器无法运行时,Swarm会停止并重新创建它。这太棒了,但是停止的容器不会被删除。有没有一种自动删除已停止/未使用的容器的方法?
我目前正在学习Docker,并建立了一个包含一个管理节点和一个集群节点的Swarm。
我运行了一个复制数为2的Stack,一切都很好。当容器无法运行时,Swarm会停止并重新创建它。这太棒了,但是停止的容器不会被删除。有没有一种自动删除已停止/未使用的容器的方法?
有一个选项--task-history-limit
。
因此,您可以执行以下操作:
docker swarm update --task-history-limit=1
请查看cli文档:https://docs.docker.com/engine/reference/commandline/swarm_update/
Docker Swarm并没有提供自动删除已停止容器的方法。
您需要手动在节点上运行docker system prune --all
,或者创建一个定时任务来自动清理。