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 прокомментировал ранее