Мы имеем непрерывный трубопровод интеграции на circleci, что делает следующее:Docker кэш ступица изображения работать
- Грузы репо/изображение: MyTag1 из каталога кэша, чтобы иметь возможность использовать кэшированные слои
- строит новую версию: докер построить -t repoimage: mytag2
- сохраняет новую версию в каталог кэша с грузчиком Сохранить
- запускает тесты
- выталкивает Docker хаб: докер толчок репо/изображение: myta g2
Проблема заключается в шаге 5. Шаг нажатия занимает 5 минут каждый раз. Если я правильно понимаю, докер-концентратор предназначен для кэширования слоев, поэтому нам не нужно повторно вводить такие вещи, как базовое изображение и зависимости, если они не обновляются.
Я запустил сборку два раза подряд, и я вижу много кроссовера в хэше слоёв. Но вместо того, чтобы «Изображение уже существует», я вижу, что «Изображение успешно нажато».
Here's выхода построить 1 в Докер толчка и here's build 2
Если вы дифф этих два файла, вы увидите, что только 2 слоев различаются по каждой сборке:
< ca44fed88be6: Buffering to Disk
< ca44fed88be6: Image successfully pushed
< 5dbd19bfac8a: Buffering to Disk
< 5dbd19bfac8a: Image successfully pushed
---
> 9136b10cfb72: Buffering to Disk
> 9136b10cfb72: Image successfully pushed
> 0388311b6857: Buffering to Disk
> 0388311b6857: Image successfully pushed
Так почему же, что все изображения должны повторно нажимать каждый раз?
Какая версия докера работает в CircleCI? Интересно, это ошибка? что произойдет, если вы несколько раз нажмете * тот же образ/тег *? В принципе, докер * должен * проверить наличие слоя, разрешить его в том же репозитории. Кроме того, вы нажимаете на концентратор докеров? – thaJeztah
Например, https://github.com/docker/docker/issues/18866 – thaJeztah
yep нажав на тот же репо в докер-хабе. Я зарегистрировал проблему здесь (https://github.com/docker/docker/issues/19583), на которой были протестированы еще несколько тестов на основе ваших предложений, и я опубликую дополнительную информацию там – jtmarmon