linux 修改docker配置文件,dockerfile动态修改服务配置文件(示例代码)

主要是利用命令envsubst能实现变量的替换并生成新得配置文件以及docker命令行的变量输入等。

本次实验主要是编写flume镜像,并在容器启动(docker run)时动态修改配置文件并启动,并向flume发数据,然后发给kafka。

此实验的基础:

会dockerfile的编写,熟悉flume服务,kafka服务。

步骤:

1、dockerfile文件如下:

FROM centos

WORKDIR/opt

COPY jdk-8u241-linux-x64.rpm /root

RUN rpm-i /root/jdk-8u241-linux-x64.rpm # 安装jdk

RUNyum install -y gettext # 安装 envsubst命令

COPY flume ./flume/EXPOSE5140/udp

VOLUME/tmp/logs/CMD envsubst< /opt/flume/conf/flume.conf.template > /opt/flume/conf/flume.conf && ./flume/bin/flume-ng agent -c ./flume/conf/ -f ./flume/conf/flume.conf --name agent -Dflume.root.logger=INFO,console

# envsubst根据flume.conf.template这个配置文件替换变量并生成flume.conf。

flume的配置文件如下:

agent.sources = s1

agent.sinks = k1

agent.channels = c1

agent.sources.s1.type = syslogudp

agent.sources.s1.port = 5140

agent.sources.s1.host = ${BIND_IP}

agent.channels.c1.type = memory

agent.channels.c1.capacity = 100000

agent.channels.c1.transactionCapacity = 5000

agent.sinks.k1.type = logger

agent.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

agent.sinks.k1.kafka.topic = log

agent.sinks.k1.kafka.bootstrap.servers = ${KAFKA_IP}:${KAFKA_PORT}

agent.sinks.k1.flumeBatchSize = 200

agent.sinks.k1.producer.acks = 1

agent.sinks.k1.producer.linger.ms = 1

agent.sinks.k1.producer.compression.type = snappy

agent.sources.s1.channels = c1

agent.sinks.k1.channel = c1

2、构建镜像

docker build /root/flume/dockerfile/ -t flume_sink_file:v1

注意:/root/flume/dockerfile/目录下要有flume、jdk-8u241-linux-x64.rpm、dockerfile文件。

3、启动容器:

docker run -d --rm -P -e KAFKA_IP="192.168.174.128",KAFKA_PORT="9092",BIND_IP="0.0.0.0" --name=abcd flume_sink_file:v1

4、而后,向flume发送数据,测试是否能在kafka topic log上接收到数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】陕西师范大学209011商业银行信贷管理Ⅱ 作业(专升本)

《商业银行信贷管理Ⅱ》作业 一、单项选择题 1、我国改革开放以来信贷资金来源的最主要支柱是&#xff08; &#xff09;。 A&#xff0e;企业存款 B&#xff0e;财政存款 C&#xff0e;储蓄存款 D&#xff0e;外汇存款 2、汇票的承兑人明确表示按照票据说明的事项&#xff0c;…

cargo maven_与Maven 3,Failsafe和Cargo插件的集成测试

cargo maven开箱即用&#xff0c;可以在Maven中进行单元测试。 因此&#xff0c;它也经常用于集成测试。 这样做的主要缺点是集成测试可能需要花费更多的时间来执行&#xff0c;并且因为没有人喜欢每次构建都要等待很长时间–只是使用-Dmaven.test.skiptrue标志跳过了测试 为了…

【渝粤题库】陕西师范大学210019 学前教育科研方法 作业(专升本)

《学前教育科学研究方法》考评作业 一、单项选择题 1、科学研究是探讨未知的过程&#xff0c;这是科学研究的 特点。 A 客观性 B 创造性 C 继承性 D 控制性 2、在比较长的时间内&#xff0c;对一个儿童或一些儿童的心理发展&#xff0c;或教育规律进行有系统的定期研究是 A纵向…

linux 安装mongodb 64,在CentOS 6.x 64bit上安装MongoDB 3.2社区版

基本安装步骤参考: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/1) 创建repo源文件:sudo vim /etc/yum.repos.d/mongodb-org-3.2.repo内容如下:[mongodb-org-3.2]nameMongoDB Repositorybaseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mon…

【渝粤题库】陕西师范大学292241金融市场学Ⅰ 作业(高起专)

《金融市场学Ⅰ》作业 一、单项选择题 1&#xff0e;全国的银行监管权集中在中央&#xff0c;地方没有独立的权力&#xff0c;在中央一级有两家或两家以上结构共同负责的监管模式称之为( )。 A.单元多头金融监管体制     B.集中单一金融监管体制 C.跨国金融监管体制     …

[免费网络研讨会] Java 11的第一印象

一年多以前&#xff0c;我们正焦急地等待新的模块化Java 9的到来。大约在同一时间&#xff0c;引入了一个新的发布周期&#xff0c;该周期将每6个月发布一次新版本&#xff0c;并提供长期支持&#xff08;LTS&#xff09;。每3年发行一次&#xff08;或每6个版本发行一次&#…

linux redhat 命令大全,redhat Linux命令大全

一.启动,关机,登入,登出相关命令登录登出登出停止系统停止系统重启动切断电源把内存里的内容写入磁盘安装lilo启动管理程序安装lilo启动管理程序二. Shell相关命令切换Shell显示命令履历设置命令别名取消命令别名显示命令所在位置查询命令种类显示字符串或者变量内容设置/显示S…

【渝粤题库】陕西师范大学400005 中国传统文化 作业(专升本)

《中国文化传统》作业 一、填空题 1&#xff0e;原始宗教崇拜包括 、 、 、 、 。 2&#xff0e;在儒家经典文献系统中&#xff0c;六经指的是 、 、 、 、 、 . 3&#xff0e;宋代理学家朱熹曾编订《四书》&#xff0c;指的是 、 、 、 。 4&#xff0e;《老子》一书又称 &…

linux rcu机制,Linux RCU机制详解 (透彻)

一:前言RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从linux kernel源代码的角度.来分析RCU的实现.在讨论RCU的实现之前.有必要重申以下几点:1:RCU使用…

【渝粤题库】陕西师范大学600007 化工基础 作业(专升本)

陕西师范大学 内 部 题 库 教育 &#xff08;yuyueshool&#xff09; 编制 《化工基础》作业 一 填空 1&#xff0e;化工产品种类繁多&#xff0c;生产工艺流程千差万别&#xff0c;具体内容是动量传递、质量传递、热量传递和 &#xff0c;但其基础理论可概括为 和三传一反。…

linux可以http安装么,Linux 5下 http的安装

Web网站服务(一)http.conf中的全局配置ServerRoot&#xff1a;用于设置httpd服务的根目录&#xff0c;该目录中包括运行Web站点必须的目录和文件。默认根目录为&#xff1a;/usr/local/apache2Listen&#xff1a;用于设置Apache服务器监听的网络端口号&#xff0c;默认为80User…

java实现泛型检索_高级Java泛型:检索泛型类型参数

java实现泛型检索在JDK5中引入Java泛型之后&#xff0c; Java泛型Swift成为许多Java程序的组成部分。 但是&#xff0c;乍一看似乎很简单的Java泛型&#xff0c;程序员很快就会迷失此功能。 大多数Java程序员都知道Java编译器的类型擦除 。 一般而言&#xff0c;类型擦除意味着…

【渝粤题库】陕西师范大学900013 心身疾病防治与心理健康

一、单项选择题 1.现实生活中人们有着切身体会&#xff0c;精神紧张, 心理压力大, 情绪不稳定、 焦虑、悲伤等容易使人 A注意力不集中 B学习和工作效率提高 C思维和判断能力变强 D 免疫力增加 2.神经、内分泌和免疫系统是人类精神活动或心理活动的 A 数学基础 B 生理基础 C 天文…

APIGEE – API网关简介

在本文中&#xff0c;我想简要介绍一下APIGEE。 APIGEE主要提供现成的以下功能作为api网关。 协议转换 与任何协议进行转换&#xff0c;包括SOAP&#xff0c;REST&#xff0c;XML二进制或自定义 交通管理 开箱即用的灵活&#xff0c;分布式配额管理&#xff0c;速率限制和峰…

国家开放大学2021春1110工程地质题目

教育 教育 试卷代号&#xff1a; 1110 2021年春季学期期末统一考试 工程地质 试题 2021年7月 一、单项选择题&#xff08;将正确答案的序号填入括号&#xff0c;每小题2分&#xff0c;共计36分&#xff09; 1.地球的内圈中厚度最小的圈层是( )。 A.地壳 B.地核 C.地幔 D.不能…

linux 7 nmcli modify,nmcli的网络配置

使用nmcli命令配置网络NetworkManager是管理和监控网络设置的守护进程&#xff0c;设备既就是网络接口&#xff0c;连接是对网络接口的配置&#xff0c;一个网络接口可以有多个连接配置&#xff0c;但同时只有一个连接配置生效。1 配置主机名CentOS6 之前主机配置文件&#xff…

【渝粤题库】广东开放大学 互联网金融 形成性考核

选择题 题目&#xff1a;互联网金融的本质是 答案&#xff1a; A、平台经济 B、双边市场经济 C、营销模式 D、多边市场经济 题目&#xff1a;大数据的特点不包括 答案&#xff1a; A、多样 B、高速 C、低速 D、海量 题目&#xff1a;借贷关系的达成是通过借贷双方在平台上直接接…

【渝粤题库】广东开放大学 公共部门人力资源管理 形成性考核

选择题 题目&#xff1a;人本管理是以人为中心的管理&#xff0c;视员工为组织发展的&#xff08;&#xff09;。 答案&#xff1a; A、“第二资源” B、“重要资源” C、“主要资源” D、“第一资源” 题目&#xff1a;在现代组织赖以存在和发展的5类资源中&#xff0c;&#…

【渝粤题库】广东开放大学 基础会计 形成性考核

选择题 题目&#xff1a;会计科目是对&#xff08; &#xff09;的具体内容进行分类核算的项目。 题目&#xff1a;下列各项中&#xff0c;属于所有者权益类科目的是&#xff08;&#xff09;。 题目&#xff1a;引起资产和负债同时减少的业务是&#xff08; &#xff09;。 题…

删除linux 软raid0,配置Linux软RAID0

配置Linux软RAID0[[email protected] ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc[[email protected] ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdcmdadm: chunk size defaults to 512Kmdadm: /dev/sdb appears to be part of a raid array:levelraid0 de…