Dockerfile和dev / test / prod环境
我想创建一个Dockerfile,它将能够构建三个不同的映像(此刻一个)。这些映像仅在配置文件中有所不同。
我正在尝试:
- 创建三个不同的Docker文件(不起作用,因为dockerfile需要命名为Dockerfile并且位于上下文根目录中
- 寻找一种将参数传递给docker build命令的方法-找不到
- 使用ONBUILD命令-我创建了一个主文件和三个特定的文件,它们将特定的conf文件复制到映像中的同一目录(由于与第一点相同的原因,该文件不起作用)
- 从stdin传递docker文件-它不起作用,因为那时没有上下文(所以我不能使用ADD / COPY命令)
我必须说我没有想法:/您如何处理这种情况。我认为这应该是一个普遍的问题。
回答:
为什么不在Dockerfile中复制所有3个配置文件,然后docker run -e
config=file1(或file2或file3)并使用config环境变量的值来获取所需的配置文件。请查看doc
http://docs.docker.com/reference/commandline / cli
/#run
您还可以使用--env-file=[] Read in a line delimited file of environment
variables的的docker run
命令。
您可以检查环境变量是否可用于 docker run -it -e mytag=abc123 ubuntu:latest env | grep
mytag演出 mytag=abc123
以上是 Dockerfile和dev / test / prod环境 的全部内容, 来源链接: utcz.com/qa/423822.html