作者:淡月如水夜宿雨 | 来源:互联网 | 2023-05-24 19:21
我想创建Dockerfile,它将能够构建三个不同的图像(目前一个).这些图像仅在配置文件中有所不同.
我在努力:
创建三个不同的docker文件(不起作用,因为dockerfile需要命名为Dockerfile并且在上下文根目录中
找到一种方法将参数传递给docker build命令 - 没找到
使用ONBUILD命令 - 我创建了一个主文件和三个特定的文件,它们将特定的conf文件复制到图像中的同一目录中(由于与第一点相同的原因,它不起作用)
从stdin传递docker文件 - 它不起作用,因为那时没有上下文(所以我不能使用ADD/COPY命令)
我必须说我没有想法:/你如何处理这种情况.在我看来,这应该是一个共同的问题.
1> user2915097..:
为什么不在Dockerfile中复制所有3个配置文件,然后docker run -e cOnfig=file1
(或file2或file3)并使用config环境变量的值来获取所需的配置文件.查看文档
http://docs.docker.com/reference/commandline/CLI /#运行
您也可以使用--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