Нет места для извлечения образа докера с такой же меткой в ​​GCP

Мы используем группу экземпляров для запуска контейнеров докеров и настраиваем шаблон экземпляра для использования образа как

us.gcr.io/my-project / my-image: последний .

Когда мы вносим какие-либо изменения в образ докера, мы маркируем его latest и запускаем:

gcloud compute instance-groups управляемые скользящие действия перезапуск my-instance-group --region us-central1 .

Это нормально работало для начальных изменений изображения, группа экземпляров vms будет извлекать новые изображения и заменять предыдущие изображения. Но после внесения дополнительных изменений он начинает выдавать ошибку:

на устройстве не осталось места

По сути, GCP не обрабатывает устаревшие изображения, а сохраняет старую копию изображения. Но в случае «последовательного обновления виртуальных машин, оптимизированных для контейнеров», можем ли мы улучшить автоматизацию обработки этих вариантов использования? Мы действительно не хотим подключать ssh к хосту и запускать docker image prune -a время от времени вручную.

0
задан 7 September 2019 в 02:03
1 ответ

Вы можете добавить эту строку в начало сценария запуска [1].

docker image prune -a

Это приведет к удалению всех неиспользуемых изображений перед загрузкой нового изображения позже в вашем сценарии запуска. Обратите внимание, что для запуска сценария запуска требуется перезапуск.

В результате ваши жесткие диски не заполнятся, и на ваших виртуальных машинах будет запущен последний образ докеров.

[1] https://cloud.google .com / compute / docs / startupscript

2
ответ дан 4 December 2019 в 13:18

Теги

Похожие вопросы