Удаление старых образов Docker на вычислительном экземпляре при обновлении с помощью Cloud Build - PullRequest
1 голос
/ 10 марта 2019

У меня есть конвейер Cloud Build CI, в котором я создаю и отправляю новый образ Docker, а затем обновляю этот образ на вычислительном экземпляре. К сожалению, сборка происходит довольно часто, и у меня не хватает места на диске в экземпляре из-за накопления старых образов.

Кажется, я не могу найти способ запустить команду на экземпляре как часть шага Cloud Build. Если бы я мог, я мог бы запустить команду, чтобы стереть старые изображения.

Кто-нибудь имеет представление о том, как решить эту проблему, кроме необходимости вручную SSH подключаться к экземпляру несколько раз в день для очистки изображений?

1 Ответ

0 голосов
/ 11 марта 2019

Вы можете использовать gcloud builder 's ssh для доступа к экземпляру.

Вам нужно будет убедиться, что вашей работе Cloud Build разрешен доступ к экземпляру.

Однако:

  • Как вы обновляете образ в экземпляре?
  • Вас волнует, что только что обновленное изображение ломается?
  • Есть ливам нужно иметь возможность вернуться?
  • Используете ли вы Реестр контейнеров ?

Возможно:

Более простой способ - ударить вашэкземпляр каждый раз, когда вы обновляете изображение.Существует концепция неизменяемой инфраструктуры , которая поощряет создание новых вещей, а не изменение существующих вещей.

Создание нового экземпляра каждый раз будет:

  • Устранить проблемусоздания старых образов на экземпляре
  • Требуется, чтобы у вас был «код», который воссоздает экземпляр по требованию
  • При необходимости разрешите переносить трафик со старого экземпляра на новый
...