使用环境变量构建docker镜像

时间:2017-08-23 14:59:05

标签: docker docker-compose dockerfile docker-machine

因此目标是为prod和测试设置不同的图像,因此某些变量会相应更改,因此我需要在构建期间设置env变量。

# Dockerfile
ENV Somename: $value
...

docker build --build-arg Somename=value -t test .

docker run -d -p port:port test

这个工作流程没有采用env变量

2 个答案:

答案 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

检查文档

https://docs.docker.com/engine/reference/builder/#env