Получить тег изображения внутри Dockerfile - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть Dockerfile, который должен загрузить указанную c версию программного обеспечения с URL-адреса с помощью команды ENV. Например:

In Dockerfile:

FROM ubuntu

ENV sw_ver=1.2.3

ADD https://some_address/_name_$sw_ver /some_dir

Команда построения аналогична следующей:

docker build -t my_image:1.2.3 .

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

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Используйте скрипт bash с тегом, который требуется в первом позиционном аргументе скрипта:

#!/bin/bash
docker build --build-arg sw-ver=$1 -t my_image:$1 .

Затем настройте скрипт:

script.sh 1.2.3
0 голосов
/ 06 апреля 2020

Вы можете использовать build-args для изменения переменных env во время сборки.

docker build --build-arg sw_ver=4.5.6 -t my_image:1.2.3 .

Docker документация по build-args

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