2017-01-17 6 views
6

Я использую Docker Swarm для тестирования сервисов на AWS. Я недавно применил обновление к службе, как это:Как я могу удалить задачи Docker Service после завершения обновления?

docker service update --image TestImage:v2 --update-parallelism 2 \ 
--update-delay 10s TestService2 

обновления работало должным образом, и служба скорректировала задачу контейнеры в v2. Однако быстрый docker service ps TestService2 | grep "v1" раскрывает множество задач TestImage:v1.

a0w77kj0k6jfg4r9g4nz47zzg \_ TestService2.1 TestImage:v1 W1 Shutdown  Shutdown 36 minutes ago 
2of4mc63ekzbib01w3x7q6sdm \_ TestService2.2 TestImage:v1 W2 Shutdown  Shutdown 37 minutes ago 
495frrpza5pxt205o1594x54a \_ TestService2.3 TestImage:v1 W1 Shutdown  Shutdown 36 minutes ago 
57l0gsqd26u2e5gdj30w8mcn9 \_ TestService2.4 TestImage:v1 M1 Shutdown  Shutdown 36 minutes ago 
baoe1i79fswb34ydwbpafg6tm \_ TestService2.5 TestImage:v1 M3 Shutdown  Shutdown 35 minutes ago 
3uxi7kwxb73z69km6s17son58 \_ TestService2.6 TestImage:v1 M2 Shutdown  Shutdown 37 minutes ago 
99cg4arnt1y52nd8d422bdu49 \_ TestService2.7 TestImage:v1 M3 Shutdown  Shutdown 36 minutes ago 
cq5716jqp40h6jugo1j9ilzwp \_ TestService2.8 TestImage:v1 M1 Shutdown  Shutdown 35 minutes ago 
awlz1kxbrjk51dey7frm14d8u \_ TestService2.9 TestImage:v1 W3 Shutdown  Shutdown 35 minutes ago 
4xdi9a1jweyehfqlt76uynf3i \_ TestService2.10 TestImage:v1 M2 Shutdown  Shutdown 36 minutes ago 
eo4t6i0gaj5i294fcdnb3qncq \_ TestService2.11 TestImage:v1 W3 Shutdown  Shutdown 35 minutes ago 
3ydeuxdjquulv5xj94b9ovuwu \_ TestService2.12 TestImage:v1 W1 Shutdown  Shutdown 36 minutes ago 

Как я могу удалить их, не вдаваясь каждым отдельным узел роя и работает docker rm на возбужденные контейнерах? Я не думаю, что команда docker service для этого, я просмотрел документы, но кто-нибудь знает о хаке или скрипте, который я могу запустить в Swarm Manager для очистки узлов?

Спасибо!

ответ

10

Контейнеры для этих услуг удаляются после скользящего обновления; вы просто остаетесь с журналом тех, которые были выключены.

Вы можете ограничить число, которое Вы видите, используя

docker swarm update --task-history-limit 5 
+0

Как долго после обновления они удаляются? Если я вхожу в узел, и я делаю «docker ps -a», я вижу контейнер все еще там, но выходил. –

+1

Эй, Харис, ты, наверное, нашел свой ответ, но я отвечу за других. Docker хранит несколько копий прошлых сервисов, но удаляет их при обновлении. Итак, если история заполнена, самая старая копия будет немедленно удалена, а последняя удаленная копия будет добавлена ​​в вашу историю. –

+2

Мне нужно было очистить его сразу, поэтому я установил лимит 1. В следующем запросе он перечисляет только «запущенные». – Hari

Смежные вопросы