因此目标是为prod和测试设置不同的图像,因此某些变量会相应更改,因此我需要在构建期间设置env变量。
# Dockerfile
ENV Somename: $value
...
docker build --build-arg Somename=value -t test .
docker run -d -p port:port test
这个工作流程没有采用env变量
答案 0 :(得分:3)
首先,您需要使用ARG
命令在dockerfile中使用build-arg。
FROM alpine
# consume the build arg
ARG somename
# persist the env variable in the built image
ENV somename=$somename
# somename will appear as an env variable
RUN echo $somename
RUN env
运行构建命令docker build --build-arg somename=hello .
将显示env变量somename=hello
答案 1 :(得分:1)
你的语法不正确,不要把
:
要么是
ENV somename somevalue
或
ENV somename=somevalue
检查文档