Docker 'последние' маркировки и нажатия

У меня есть образ докера, созданный в процессе сборки. Я хочу пометить последний образ сборки тегом id сборки и 'последним'. Я вижу два способа сделать это.

Первый подход - (добавить несколько тегов и нажать один раз)

docker tag <id> <user>/<image>:build_id  
docker tag <id> <user>/<image>:latest  
docker push <user>/<image>

Второе - пометьте индивидуально и нажмите

docker tag <id> <user>/<image>:build_id  
docker push <user>/<image>:build_id

docker tag <id> <user>/<image>:latest  
docker push <user>/<image>:latest

Документация Docker гласит, что если в реестре уже есть изображение с определенным тегом, то нажатие Docker с новым изображением с таким же тегом перезапишет предыдущее изображение.
1. Являются ли первый и второй вариант, указанные выше, функционально одинаковыми?
2. Есть ли какой-либо предпочтительный способ / лучшие практики?

2 ответа

Прежде всего

docker push не будет работать, если вы не предоставите имя хранилища.

docker push
"docker push" requires exactly 1 argument.
See 'docker push --help'.

Usage:  docker push [OPTIONS] NAME[:TAG] [flags]

Push an image or a repository to a registry

Это означает, что вам нужно нажать с именем хранилища. И вы можете предоставить TAG или нет.

Если вы не предоставите TAG, вы отправляете все изображения для этого хранилища.

После модификации вопроса

При первом подходе вы помещаете все изображения под <user>/<image> репозиторий.

Во втором подходе вы нажимаете изображение по одному.

Ответ на вопрос

_1. И первый, и второй вариант, указанные выше, функционально одинаковы (в вашем случае)

Если вы не предоставите TAG, вы отправляете все изображения для этого хранилища.

В твоем случае

$ docker push <user>/<image>

будет нажимать оба тега build_id а также latest

_2. Я думаю, второй вариант лучше и предпочтительнее

Потому что вы можете не хотеть выдвигать все изображения. В этом случае вы можете выбрать, какое изображение вы хотите использовать после второго подхода.

Также возможно пометить изображение во время сборки , как указано в документации.

К изображению можно применить несколько тегов. Например, вы можете применить последний тег к вновь созданному образу и добавить еще один тег, который ссылается на конкретную версию. Например, чтобы пометить изображение как whenry/fedora-jboss:latest, так и whenry/fedora-jboss:v2.1, используйте следующее:

      docker build -t whenry/fedora-jboss:latest -t whenry/fedora-jboss:v2.1 .

а затем нажать с-a | --all-tagsкак user3276902 прокомментировал ранее

Другие вопросы по тегам