dockerfile如何定义可变的配置文件?

发布于 2022-09-07 04:22:06 字数 392 浏览 16 评论 0

比如有一个业务程序,其中有个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

捶死心动 2022-09-14 04:22:06

这个一般放在.env中,不放在Dockerfile

っ〆星空下的拥抱 2022-09-14 04:22:06

镜像里放配置文件不得于镜像的移植,配置文件还是挂载或者环境变量传入 或者使用命令行参数。 建议使用kubernetes里面的configmap是合理的配置管理方式。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文