elk 的dockerfile and 启动

DockerFile

FROM kinogmt/centos-ssh
RUN service sshd start
COPY elk.tar /opt/elk.tar
RUN tar -xvf /opt/elk.tar -C /opt
COPY start.sh /opt/start.sh
RUN  useradd -g root topnet
RUN  echo "topnet" | passwd topnet --stdin > /dev/null 2>&1
RUN chown -R topnet:root  /opt
#修改默认线程数
RUN sed -i "s/1024/65535/g"  /etc/security/limits.d/90-nproc.conf
#端口 
EXPOSE 5601
EXPOSE 9200
EXPOSE 22
EXPOSE 5044

USER topnet
#启动 es,kibana,logstash
CMD /opt/start.sh
 

start.sh

export JAVA_HOME=/opt/java
export PATH=$PATH:$JAVA_HOME/bin

cd /opt/elasticsearch/
nohup ./bin/elasticsearch &


cd /opt/kibana
nohup ./bin/kibana &

cd /opt/logstash
./bin/logstash -f config/start.conf --config.reload.automatic 
 

 

转载于:https://my.oschina.net/internetafei/blog/3085531

Dockerfile是一种用于构建Docker镜像的文本文件,它包含了用于组合镜像的一系列命令。ELK是Elasticsearch、Logstash和Kibana的缩写,这三者结合可以为用户提供一套完整的日志管理解决方案。使用Dockerfile来部署ELK,可以轻松地在任何支持Docker的环境中创建、运行和管理ELK堆栈。 下面是一个简单的示例Dockerfile,用于构建一个包含Elasticsearch和Kibana的基本ELK镜像: ```Dockerfile # 使用官方的Elasticsearch镜像作为基础镜像 FROM docker.elastic.co/elasticsearch/elasticsearch:7.10.0 # 将当前目录下的所有文件复制到容器的/opt目录下 COPY . /opt/ # 暴露Elasticsearch和Kibana所需的端口 EXPOSE 9200 EXPOSE 5601 # 安装Logstash(这里假设你已经有了Logstash的配置文件) #RUN ./logstash/bin/logstash -f /opt/logstash.conf # 设置容器启动时执行的命令,这里同时启动Elasticsearch和Kibana # 注意:在生产环境中可能需要单独管理这些服务,以便更好地控制它们 CMD ["/bin/bash", "-c", "./start-elasticsearch.sh && ./start-kibana.sh"] ``` 在上述Dockerfile中,我们首先从官方的Elasticsearch镜像开始构建。然后,我们将当前目录下的所有文件复制到容器的/opt目录。接着,我们暴露了Elasticsearch和Kibana所需的端口。最后,我们在容器启动时执行命令来启动这两个服务。 要使用上述Dockerfile部署ELK,你需要执行以下步骤: 1. 创建一个包含上述Dockerfile的目录。 2. 将Elasticsearch和Kibana的配置文件放到这个目录中。 3. 使用`docker build`命令来构建你的ELK镜像。 4. 使用`docker run`命令来运行你的ELK容器。 确保在部署前已经安装了Docker环境,并且根据实际情况调整Dockerfile中的配置和命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值