更新后如何删除旧服务图像?
How do I remove old service images after an update?
我正在玩 Docker Swarm。我已经部署了一项服务并执行了几次更新以查看其工作原理。我观察到 docker 正在为服务保留旧图像。
我该如何清理它们?
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
这些是容器,不是图像。在 docker 中,两者之间存在相当大的差异(图像是用于创建容器的定义)。在群服务内部,它们被称为任务。要调整默认保留多少 docker,您可以更改全局阈值:
docker swarm update --task-history-limit 1
默认值为 5。
要删除单个容器,您可以从主机中删除容器 运行:
docker container ls -a | grep picday
docker container rm <container id>
我正在玩 Docker Swarm。我已经部署了一项服务并执行了几次更新以查看其工作原理。我观察到 docker 正在为服务保留旧图像。
我该如何清理它们?
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
这些是容器,不是图像。在 docker 中,两者之间存在相当大的差异(图像是用于创建容器的定义)。在群服务内部,它们被称为任务。要调整默认保留多少 docker,您可以更改全局阈值:
docker swarm update --task-history-limit 1
默认值为 5。
要删除单个容器,您可以从主机中删除容器 运行:
docker container ls -a | grep picday
docker container rm <container id>