如何启动docker容器内的filebeat?
我尝试启动dockercontainer内的filebeat。
在开始时,我尝试从这个Dockerfile开始
FROM tomcat:8.5 RUN rm -Rf /usr/local/tomcat/webapps/ROOT/* RUN mkdir /usr/local/tomcat/webapps-my COPY filebeat/ /opt/filebeat/ RUN chmod +x /opt/filebeat/filebeat COPY db-creator.jar /opt/db-creator/ COPY ./docker-entrypoint.sh / RUN chmod +x /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] ENTRYPOINT ["/opt/filebeat/filebeat", "-e", "-c", "/opt/filebeat/filebeat.yml"] COPY server.xml /usr/local/tomcat/conf COPY my.war /usr/local/tomcat/webapps-my/ROOT.war CMD ["catalina.sh", "run"]
在这种情况下filebeat正在启动,但它在控制台和tomcat不起动。 现在我尝试启动filebeat作为服务
FROM tomcat:8.5 RUN curl -L -O https://artifacts.elastic.co/downloads/beats/fileb... RUN dpkg -i filebeat-5.2.2-amd64.deb COPY filebeat.yml /etc/filebeat RUN update-rc.d filebeat defaults 95 10 COPY db-creator.jar /opt/db-creator/ COPY ./docker-entrypoint.sh / RUN chmod +x /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] RUN rm -Rf /usr/local/tomcat/webapps/ROOT/* COPY server.xml /usr/local/tomcat/conf RUN mkdir /usr/local/tomcat/webapps-my COPY my.war /usr/local/tomcat/webapps-iqp/ROOT.war CMD ["catalina.sh", "run"]
但它始终没有启动。 在这些varint之前,我有一些其他varints,但他们不工作。 例如像这样的东西
CMD [“/etc/init.d/filebeat”,“start”]
我怎样才能启动filebeat?
你的方法有点不对 考虑微服务架构。 每个容器需要一个微服务。
尝试以下操作:
你需要2个独立的容器在这里。 一个用于tomcat
,另一个用于filebeat
。 然后,你将在tomcat
容器中的相应位置挂载一个卷,以便在那里获得日志文件。
然后,您将在filebeat
上同时挂载相同的日志卷,并使用filebeat开始发送日志。
这样你将会尊重微服务架构和docker的理念。