如何在更新后删除旧服务图像?

时间:2017-03-20 00:37:16

标签: docker docker-swarm

我正在玩Docker Swarm。我已经部署了一项服务并执行了几项更新,以了解它是如何工作的。我观察到码头工人正在为服务保留旧图像。

如何清理它们?

root@picday-manager:~# docker service ps picday
ID            NAME          IMAGE                   NODE            DESIRED STATE  CURRENT STATE            ERROR  PORTS
bk6pw0t8vw4r  picday.1      ischyrus/picday:latest  picday-manager  Running        Running 6 minutes ago
ocbcjpnc71e6   \_ picday.1  ischyrus/picday:latest  picday-manager  Shutdown       Shutdown 6 minutes ago
lcqqhbp8d99q   \_ picday.1  ischyrus/picday:latest  picday-manager  Shutdown       Shutdown 11 minutes ago
db7mco0d4uk0  picday.2      ischyrus/picday:latest  picday-manager  Running        Running 6 minutes ago
z43p0lcdicx4   \_ picday.2  ischyrus/picday:latest  picday-manager  Shutdown       Shutdown 6 minutes ago

1 个答案:

答案 0 :(得分:0)

这些是容器,而不是图像。在docker中,两者之间存在相当显着的差异(图像是用于创建容器的定义)。在群服务中,它们被称为任务。要调整默认情况下docker保留的数量,您可以使用以下命令更改全局阈值:

docker swarm update --task-history-limit 1

此默认值为5.

要删除单个容器,您可以从运行它的主机中删除容器:

docker container ls -a | grep picday
docker container rm <container id>