Передача аргумента EXPOSE в Dockerfile в качестве пользовательского ввода - PullRequest
0 голосов
/ 28 мая 2019

Передача аргумента в Dockerfile в качестве пользовательского ввода при построении образа Docker.

Создание примера Dockerfile, который будет создавать образ.

### sample dockerfile
    COPY . .
    EXPOSE 7017

# ENV VAR'S
    ENV ELASTIC_APM_CONFIG_FILE=elastic-apm-node.js
    ENV ELASTIC_APM_SERVICE_NAME=abc
    ENV ELASTIC_APM_SERVER_URLS=http://abc:1234

Указание аргумента EXPOSE в Dockerfile в качестве пользователявход.

1 Ответ

0 голосов
/ 28 мая 2019

Сборка Docker использует аргументы (определенные с помощью ARG). Переменные среды (определенные с помощью ENV) используются запущенными контейнерами и недоступны во время сборки.

Измените свой Dockerfile на:

FROM ....

ARG EXPOSE_PORT=<some default value>

EXPOSE $EXPOSE_PORT

и затем введите нужное значение в вашей команде сборки Docker:

docker build --build-arg EXPOSE_PORT=7017 ....
...