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

天空之城 天空之城     2022-11-13     687

关键词:

【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

 

通过docker进程pid获取容器id

    虽然Docker是通过namespace隔离技术实现容器间进程的隔离,但在运行Docker的主机中,Docker容器内的进程与主机内运行的进程是在同一个namespace(假设叫A)的。虽然在Docker容器内应用进程的父进程都是pid为1的那个... 查看详情

docker数据管理

用户在使用docker的过程中,旺旺需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及容器的数据管理操作。容器中的管理数据主要有两种方式: 数据卷数据卷... 查看详情

容器技术之docker&k8s

...器引擎。一句话总结就是,从仓库中拉取镜像,利用镜像生成容器。Docker技术的三大核心概念,分别是:镜像(Image)、容器(Container)、仓库(Repository)。相关概念解释如下:宿主机&#... 查看详情

docker镜像创建方法(代码片段)

Docker镜像创建方法Docker镜像创建方法创建镜像的方法有三种,分别是基于已有的镜像创建、基于本地模板创建、基于Dockerfile创建,下面着重介绍这三种创建镜像的方法。一、基于已有镜像创建首先将镜像加载到容器,将容器里... 查看详情

docker数据与管理

docker镜像的创建方法创建镜像的方法有三种,分别是基于已有的镜像创建,基于本地模板创建及基于docker创建。基于已有镜像创建基于已有的镜像创建主要使用dockercommit命令,常用选项:-m:说明信息-a:作者信息-p:生成过程中... 查看详情

docker入门到实践——简单操作

...只读的模板。镜像可以用来创建Docker容器。Docker容器Docker利用容器来运行应用。容器是从镜像创建运行 查看详情

docker(代码片段)

Docker基本概念使用DockerToolBox工具进行常规操作的时候,我们需要明白容器和镜像的概念:宿主机,Host,运行Docker所在的物理机,是Docker运行的系统环境镜像,Image,相当于一个程序模板,通过这个模板可以生成很多个相似的容... 查看详情

docker的学习第二天(代码片段)

...最终服务运行或者项目就是在容器中容器:container:Docker利用容器技术,独立运行一个或者一个应用,通过镜像来创建的启动、删除、停止、基本命令目前可以把容器理解为一个简易的linux系 查看详情

docker基础:数据管理

用户在使用Docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据的共享,这必然涉及容器的数据管理操作。容器中管理数据主要有两种方式:数据卷(DataVolumes)... 查看详情

docker存储与通信

一、数据管理      用户在使用docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据的分享,这必然涉及容器的数据管理。容器数据的管理... 查看详情

利用docker备份迁移数据库

原文地址:https://zeeko.1503.run/Article/17最近在把腾讯云的国内主机迁移到香港主机,因为之前使用的MySql跟MongoDb都是基于Docker部署的,所以迁移起来还算比较方便,主要思路就是把数据库容器的数据卷单独做成一个数据镜像,然后... 查看详情

第一天docker入门

...的实例化进程我们可以这样理解容器就是一个沙箱,docker利用容器运行和隔离应用,每个容器之间都是彼此独立的第一次使用docker [1]查看版本[email protected]:/data#dockerversionClient:Version: 查看详情

为 Docker 容器分配静态 IP

】为Docker容器分配静态IP【英文标题】:AssignstaticIPtoDockercontainer【发布时间】:2015-03-1207:07:31【问题描述】:我现在尝试在启动Docker容器时分配静态IP172.17.0.1。我使用2122端口作为这个容器的ssh端口,以便让这个容器监听2122端口... 查看详情

用ssh连接docker容器

...ac上可通过sshroot@127.0.0.1-p:22登录新生成的容器至此ssh连接docker容器连接成功。命令成功后,就会创建一个名字为centos:1.0.0的image,可以使用“dockerimages”来查看ip:为宿主主机的ip端口:就是上面的22用户名:root密码:就是上面passwor... 查看详情

docker制作ubuntu的python环境镜像

...生成镜像env_python38_ubuntu2004的1.0版本可以查看这篇文章:Docker导入镜像并生成容器 查看详情

docker三要素

...创建Docker容器,一个镜像可以创建很多容器。容器??Docker利用容器(container)独立运行的一个或者一组应用。容器是利用镜像创建的运行实例(相对于Java中的类和对象的概念)。容器可以被启动、开始、停止、删除。每个容器都... 查看详情

docker容器之镜像管理端口映射容器互联(代码片段)

docker镜像的分层?Dockerfile中的每个指令都会创建一个新的镜像层;?镜像层将会被缓存和复用;?当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效;?某一层的镜像缓存失... 查看详情

docker容器

...动启动一个bash终端,并许用户进行交互可以在为终端中利用ps和top来查看进程信息查看运行的容器(dockerps-a查看所有容器   用dockerstart命令将一个终止的容器启动运行&n 查看详情