Вы можете установить имя изображения при создании пользовательского изображения, например так:
docker build -t dude/man:v2 . # Will be named dude/man:v2
Есть ли способ определить имя изображения в Dockerfile, поэтому мне не нужно упоминать его в docker build
команде?
docker
tags
dockerfile
gvlasov
источник
источник
Ответы:
Пометка изображения не поддерживается в Dockerfile. Это должно быть сделано в вашей команде сборки. В качестве обходного пути вы можете выполнить сборку с помощью docker-compose.yml, который идентифицирует имя целевого образа, а затем запустить
docker-compose build
. Пример docker-compose.yml будет выглядетьТем не менее, есть противодействие выполнению сборки с compose, так как это не работает с режимами роя. Итак, вы вернулись к выполнению команды, как вы задали в своем вопросе:
Лично я, как правило, собираю небольшой скрипт в своей папке (build.sh), который передает любые аргументы и включает в себя имя изображения, чтобы сохранить типизацию. А для производства сборка обрабатывается сервером ci / cd с именем образа внутри конвейерного скрипта.
источник
Как создать изображение с произвольным именем без использования файла yml:
Как запустить контейнер с произвольным именем:
источник
Dockerfile
в каталог с тем же именем, которое вы хотите для своего образа, вы можете использовать вdocker build -t $(basename $PWD) .
качестве команды сборки. Затем вы можете использовать поиск CTRL-R из «build», чтобы найти и повторно использовать команду, и вам никогда не придется ее редактировать. Вы также можете сделать его псевдонимом, если хотите.Вот другая версия, если вам нужно сослаться на определенный файл докера:
Тогда ты просто бежишь
источник
Вы можете сделать это используя 'AS' FROM Ubuntu: 16.04 AS FooImage
источник
AS
Синтаксис определяет имя целевого используемое в многоступенчатом строить, и это имя также может быть использовано вместо изображения дляCOPY --from
синтаксиса в этой многоступенчатой сборке. Однако он не указывает результирующее имя / тег для самой сборки.