Docker Hub: ссылки на репозиторий для автоматизированных сборок - PullRequest
2 голосов
/ 27 сентября 2019

В Docker Hub можно настроить Автоматические сборки , нажав соответствующую кнопку в верхнем правом углу вкладки Builds.Помимо настройки перестроения после отправки в репозиторий исходного кода, содержащий Dockerfile, можно также установить « Ссылки на репозиторий » на « Включить для базового образа ».Это сделано для того, чтобы " запускать сборку в этом хранилище всякий раз, когда базовый образ обновляется в Docker Hub ".

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

FROM mediawiki AS orig

FROM alpine AS build
COPY --from=orig <file> /
RUN <patch-command of file>

FROM mediawiki
COPY --from=build <file> /

Почему перестройка не срабатывает, если (либо одно из) базовых образов обновляется?Это потому, что у меня в строке Dockerfile более одной строки FROM?Или предупреждение « работает только для неофициальных изображений » применяется к базовому изображению вместо конечного изображения?

Если ответ на мой последний вопрос выше «да»,Есть ли какой-нибудь способ получить желаемый эффект восстановления при обновлении базового образа?

1 Ответ

1 голос
/ 27 сентября 2019

"Работает только для неофициальных изображений"

Я уверен, что это не работает для любых официальных изображений, таких как alpine, golang и т. Д.причина в том, что от этих базовых изображений зависит так много изображений, что одно обновление будет огромной нагрузкой на их инфраструктуру для восстановления всех изображений.

Я предполагаю, что логика для определения того, использует ли изображение официальное изображение илине очень простой, и если он обнаружит FROM <some-official-image> в любом месте в вашем Dockerfile, то он, вероятно, не будет автоматически перестроен.

...