Синхронизация докера хостов изображений с локальным реестром - PullRequest
1 голос
/ 03 апреля 2019

Как я могу убедиться, что сборка докера будет синхронизировать кэш докера с реестром докера?

Представьте себе такой сценарий:

1 - я создаю образ докера на своем ноутбуке для weblogic под названием:

my-local-registry:5000/weblogic:12.2.1.3

2 - затем я помещаю его в наш локальный реестр докеров:

docker push my-local-registry:5000/weblogic:12.2.1.3

3 - на одном из наших серверов (например,host-1), у меня есть файл Docker, где он использует этот weblogic образ для создания образа приложения, что-то вроде этого:

FROM my-local-registry:5000/weblogic:12.2.1.3

USER weblogic
WORKDIR /u01/scripts
RUN deploy_application.sh
.
.
.

4 - я создаю образ приложения:

docker build -t my_application .

5 - На хосте-1 я выполняю команду docker images и вижу 2 изображения.Один - это weblogic, который извлекается из локального реестра, а другой - образ приложения.

7 - Теперь я обновляю изображение weblogic на своем ноутбуке (например, применяю новое исправление безопасности) и снова нажимаю на него:

docker push my-local-registry:5000/weblogic:12.2.1.3

8 - На хосте-1 я воссоздаю образ приложения.Поскольку у него уже есть образ weblogic в кеше Docker, он не будет брать обновленный.

Как заставить docker проверять, синхронизируется ли какой-либо существующий образ в кеше Docker с локальным реестром, когда дело доходит до команды FROM?(Когда я запускаю docker pull my-local-registry:5000/weblogic:12.2.1.3, он обновляет кэш Docker, но я не хочу делать это каждый раз!)

Заранее большое спасибо.

1 Ответ

0 голосов
/ 17 апреля 2019

Я нашел решение.Мне нужно было: --pull

docker build --pull ...

Он сравнивает кэш докера с реестром докера и извлекает обновленные слои из реестра докера, если их нет в кэше докера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...