Какова цель "docker build --pull"? - PullRequest
       7

Какова цель "docker build --pull"?

5 голосов
/ 21 октября 2019

При создании образа Docker вы обычно используете docker build ..

Но я обнаружил, что вы можете указать --pull, поэтому вся команда будет выглядеть как docker build --pull .

Я не уверен насчет цели --pull. Докеры официальная документация гласит: "Всегда пытайтесь получить более новую версию образа", и я не уверен, что это означает в этом контексте.

Вы используете docker build для созданияновое изображение, и в конечном итоге опубликовать его где-нибудь в реестре контейнера. Зачем вам хотеть вытащить что-то, что еще не существует?

Я бы ожидал, что что-то столь же «простое», как это, будет легко найти в Интернете, но ни у кого, похоже, нет такого вопроса, как этот. Единственный настоящий успех в Google относится к официальным документам Dockers, которые я (как указано выше) не понимаю.

Спасибо за вашу помощь!

Ответы [ 3 ]

4 голосов
/ 21 октября 2019

будет извлекать последнюю версию любого базового изображения (й) вместо повторного использования того, что вы уже пометили локально

, например, взять изображение, основанное на движущемся теге (например, ubuntu:bionic). апстрим периодически вносит изменения и перестраивает их, но у вас может быть локальный образ месяца. Докер с радостью построит против старой базы. --pull будет использоваться в качестве побочного эффекта, поэтому вы будете использовать новейший базовый образ.

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

1 голос
/ 21 октября 2019

Простой ответ. docker build используется для сборки из локального файла Docker. docker pull используется для извлечения из док-станции. Если вы используете сборку Docker без файла Docker, он выдаст ошибку.

Когда вы укажете --pull или :latest, Docker будет пытаться загрузить самую новую версию (если есть)

Обычно, если вы добавите --pull, он будет пытаться получить самую новую версию. версия при каждом запуске.

0 голосов
/ 21 октября 2019

Docker позволяет передавать флаг --pull для сборки docker, например, сборка docker --pull -t myimage. Этот способ является рекомендуемым способом обеспечения того, чтобы сборка всегда использовала самый последний образ контейнера, несмотря на локальную версию. Однако еще один важный момент с упоминанием

. Чтобы убедиться, что ваша сборка полностью перестроена, включая проверку базового образа на наличие обновлений, используйте следующие опции при сборке:

- без кэширования - это будетпринудительное восстановление уже доступных слоев

Полная команда будет выглядеть следующим образом:

сборка докера --pull --no-cache --tag myimage: version.

Для docker-compose доступны те же параметры:

docker-compose build --no-cache --pull

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