dockerfile如何定义可变的配置文件?
比如有一个业务程序,其中有个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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个一般放在.env中,不放在Dockerfile
https://github.com/laradock/l...
镜像里放配置文件不得于镜像的移植,配置文件还是挂载或者环境变量传入 或者使用命令行参数。 建议使用kubernetes里面的configmap是合理的配置管理方式。