在Dockerfile中传递EXPOSE参数作为用户输入

时间:2019-05-28 10:48:35

标签: jenkins-pipeline dockerfile

在构建Docker映像时将Dockerfile中的参数作为用户输入传递。

创建了一个示例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

在Dockerfile中指定EXPOSE参数作为用户输入。

1 个答案:

答案 0 :(得分:0)

Docker构建使用自变量(使用ARG定义)。环境变量(使用ENV定义)由运行中的容器使用,并且在构建时不可用。

将Dockerfile更改为:

FROM ....

ARG EXPOSE_PORT=<some default value>

EXPOSE $EXPOSE_PORT

,然后在docker build命令中传递所需的值:

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