比如有一个业务程序,其中有个Conf文件,里面有服务ip,数据库地址的一些配置,如何使其可以在运行容器的时候进行指定?还是说必须单独一个配置文件,然后运行容器的时候将新的配置文件拷贝进去?
我现在了解到一种做法是,(以python为例)
写一个python脚本,在Dockerfile中运行,这样需要镜像的环境支持python
主要内容就是,使用os.environ获取环境变量(假设是MYVAR)
然后把配置文件中对应想修改的参数改成{var} 加上双括号
然后如 osdict = os.environ
myvar = os.dict.get('MYVAR',缺省值)
with open(配置文件) as fp:
使用format方法格式化var=myvar
这个一般放在.env中,不放在Dockerfile