鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全/ dockerfile如何定義可變的配置文件?

dockerfile如何定義可變的配置文件?

比如有一個業(yè)務(wù)程序,其中有個Conf文件,里面有服務(wù)ip,數(shù)據(jù)庫地址的一些配置,如何使其可以在運行容器的時候進行指定?還是說必須單獨一個配置文件,然后運行容器的時候?qū)⑿碌呐渲梦募截愡M去?

我現(xiàn)在了解到一種做法是,(以python為例)
寫一個python腳本,在Dockerfile中運行,這樣需要鏡像的環(huán)境支持python
主要內(nèi)容就是,使用os.environ獲取環(huán)境變量(假設(shè)是MYVAR)
然后把配置文件中對應(yīng)想修改的參數(shù)改成{var} 加上雙括號
然后如 osdict = os.environ
myvar = os.dict.get('MYVAR',缺省值)
with open(配置文件) as fp:

使用format方法格式化var=myvar

回答
編輯回答
編輯回答
終相守

這個一般放在.env中,不放在Dockerfile

2017年10月1日 00:42
編輯回答
掛念你

鏡像里放配置文件不得于鏡像的移植,配置文件還是掛載或者環(huán)境變量傳入 或者使用命令行參數(shù)。 建議使用kubernetes里面的configmap是合理的配置管理方式。

2017年8月19日 02:41