Как запустить filebeat внутри Docker-контейнера?

Я пытаюсь запустить filebeat внутри dockercontainer.

В начале я пытаюсь начать с этого 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"]

Но это все еще не начинается вообще. Между этими вариантами у меня есть некоторые другие варианты, но они тоже не работают. Например что-то вроде этого

CMD ["/etc/init.d/filebeat", "start"]

Как я могу начать filebeat?

1 ответ

Ваш подход как-то не так. Подумайте об архитектуре микросервисов. Вам нужен один микросервис на контейнер.

Попробуйте следующее:

Вам нужно 2 отдельных контейнера здесь. Один для tomcat и еще один для filebeat, Затем вы смонтируете том в соответствующем месте в tomcat контейнер, так что вы получите файлы журнала там.

Затем вы будете монтировать тот же том журнала на filebeat как только для чтения и начать отправку журналов с помощью filebeat.

Таким образом, вы будете соблюдать архитектуру микросервисов и философию докеров.

Другие вопросы по тегам