Как создать образ Docker с условием if-else, как описано ниже? - PullRequest
0 голосов
/ 26 марта 2019

У меня ниже требования для создания dockerfile.

Мое изображение - это загрузка файлов 2 zip.Я хочу, чтобы этот файл zip был загружен в соответствии со следующим условием.

if ($arg == "xxx")
    'download this A.zip'
else if ($arg == "zzz") 
    'download this B.zip'
else 
    'download A.zip and B.zip'

Теперь, кто-то, кто тянет такой образ Docker, соответствующий файл zip должен быть загружен на основе переданного аргумента.

Как быть?

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Вы можете использовать команду ARG и флаг --build-arg при построении изображения.И тогда вы можете сделать ваши ifs следующим образом:

FROM debian
ARG X
RUN /bin/bash -c "if [ '${X}' == 'x' ]; then echo 'A'; else echo 'B'; fi"

И docker build --build-arg X=x .

0 голосов
/ 28 марта 2019

создайте образ докера с A.zip и B.zip и установите сценарий оболочки для CMD для образа докера.Разрешить пользователям передавать переменную среды во время выполнения, и этот сценарий оболочки может захватывать значение ENV и действовать соответственно.

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