Docker ARG или ENV не работают должным образом в Dockerfile - PullRequest
0 голосов
/ 18 марта 2019

Я использую Docker Toolbox для Windows (для проблем совместимости), и в Dockerfile я указываю ARG, чтобы я мог использовать его при построении образа с помощью команды --build-arg.Внутри dockerfile у меня также есть несколько COPY команд, и я бы хотел использовать свою переменную, но когда я запускаю docker build --build-arg VERSION_APP=something.это не переводит переменную.Я уже использовал $VERSION_APP или ${VERSION_APP} или %VERSION_APP%.

FROM alpine
MAINTAINER Marinos

ARG VERSION_APP


RUN apk update && apk add dos2unix

COPY script.sh /home/script.sh
RUN chmod a+x /home/script.sh

RUN dos2unix /home/script.sh 

RUN sh /home/script.sh 

COPY installation.txt /home/Desktop/${VERSION_APP}

ОБНОВЛЕНИЕ

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

1 Ответ

1 голос
/ 18 марта 2019

Если вы действительно используете команду ниже, то ожидается, что она не будет работать, потому что аргумент называется VERSION_APP

docker build --build-arg myVar=something

Таким образом, команда должна быть

docker build --build-arg VERSION_APP=something

А в Dockerfile это должно быть %VERSION_APP%, также вам может понадобиться использовать ENV, как показано ниже:

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