[转] 利用dockerize模板为容器内应用生成配置文件和环境变量

Posted 天空之城

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转] 利用dockerize模板为容器内应用生成配置文件和环境变量相关的知识,希望对你有一定的参考价值。

【FROM】 https://blog.csdn.net/liucaihong123/article/details/51945413

 

首先试验一下dockerize的可用性:

最近一个docker容器里面的应用启动依赖于一个配置文件cfg.json

设置模板文件cfg.template.json格式如下:

{
    "debug": true,
    "hostname": {{ default .Env.HOSTNAME "\"\"" }},
    "ip": {{ default .Env.IP "\"\"" }},
    "plugin": {
        "enabled": {{ default .Env.PLUGIN_ENABLED "false" }},
        "dir": {{ default .Env.PLUGIN_DIR "\"./plugin\"" }},
        "git": {{ default .Env.PLUGIN_GIT "\"https://github.com/open-falcon/plugin.git\"" }},
        "logs": {{ default .Env.PLUGIN_LOGS "\"./logs\"" }}
    },

}

 

在~/.bashrc中添加HOSTNAME,IP ,PLUGIN_ENABLED ,PLUGIN_DIR ,PLUGIN_GIT ,PLUGIN_LOGS 这几个环境变量,假如cfg.template.json在当前目录下,执行如下命令:

dockerize -template ./cfg.template.json:./cfg.json 

就会按照模板文件生成cfg.json配置文件,注意:假如~/.bashrc中没有配置PLUGIN_GIT 环境变量,则会按照模板中的默认值"https://github.com/open-falcon/plugin.git"生成配置文件。

以下是生成的配置文件cfg.json:

{

     "debug": true,

    "hostname": "node2",
    "ip": "",
    "plugin": {
        "enabled": false,
        "dir": "./plugin",
        "git": "https://github.com/open-falcon/plugin.git",
        "logs": "./logs"
    },
  }

 

测试成功。

以后在打包镜像的过程中,利用dockerize将模板中参数传到镜像中,具体用法参考文章:https://segmentfault.com/a/1190000000728440

转载请注明出处:http://blog.csdn.net/liucaihong123/article/details/51945413

 

以上是关于[转] 利用dockerize模板为容器内应用生成配置文件和环境变量的主要内容,如果未能解决你的问题,请参考以下文章

阿里云专有云平台docker容器内应用故障总结

centos7 docker容器运行和移除容器内应用详解

容器内应用日志收集方案

docker ubuntu容器更换阿里源(转)

通过Docker进程pid获取容器id

Docker