我有一些配置文件需要使用动态变量添加到容器中。例如:
#
# -= One of my app configuration files =-
#
string SERVER = "127.0.0.1";
string LANG = "{dynamic_value}";
string OTHERVAR = "{other_dynamic_value}";
是否可以拥有一个存储所有这些变量的外部配置文件?
#
# -= My Docker centralised config file =-
#
dynamic_value = "English";
other_dynamic_value = "North";
因此添加到我的容器的结果文件将是这样的:
#
# -= One of my app configuration files =-
#
string SERVER = "127.0.0.1";
string LANG = "English";
string OTHERVAR = "North";
谢谢
答案 0 :(得分:2)
答案 1 :(得分:1)
使用您选择的脚本语言创建脚本文件,例如红宝石。
require 'json'
myconfigfile = 'config1.json'
j= ''
File.open(myconfigfile, "r") do |f|
j = JSON.parse(f.read)
end
File.open('appconfig.txt','w') do |f|
f.write 'string SERVER = "127.0.0.1"' + "\n"
f.write 'string LANG = ' + j['dynamic_value'].to_s + "\n"
f.write 'string OTHERVAR = ' + j['other_dynamic_value'].to_s + "\n"
end
`docker build .`
在此示例中,我假设您的集中配置文件是json格式。
{
"dynamic_value" : "English",
"other_dynamic_value" : "North"
}
在Dockerfile中,将创建的appconfig.txt文件复制到容器中。