在构建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参数作为用户输入。
答案 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 ....