본문 바로가기

Cloud/Docker

Scouter Dockerfile 만들기

Scouter를 컨테이너로 띄워야 하는 일이 있어서 만들게 되었다.

- Collector Dockerfile

#베이스 이미지는 원하는 걸로
FROM ubuntu:18.04

#Scouter 폴더 옮겨준다. conf는 미리 변경해준다.
COPY scouter /scouter

#udp, tcp 포트 열어준다. 동일 포트로 사용할 수 있는지 모르겠는데 안전하게 이렇게 했다.
EXPOSE 6100 6101 22

RUN sh /scouter/server/startup.sh

- Java Agent Dockerfile

FROM tomcat:8.5

ENV TOMCAT_HOME /usr/local/tomcat

#conf 미리 수정
COPY agent.java $TOMCAT_HOME/scouter/agent.java
COPY catalina.sh $TOMCAT_HOME/bin/catalina.sh

EXPOSE 8080

RUN chown -R test:test /usr/local/tomcat

#USER test
WORKDIR ${TOMCAT_HOME}/bin
CMD ["catalina.sh", "run"]

agent.java의 conf는 미리 수정해주고 ctalina.sh에는 250번째 정도 줄에 아래 옵션 넣어준다.

251 JAVA_OPTS=" $JAVA_OPTS -javaagent:/usr/local/tomcat/scouter/agent.java/scouter.agent.jar"
252 JAVA_OPTS=" $JAVA_OPTS -Dscouter.config=/usr/local/tomcat/scouter/agent.java/conf/scouter.conf"
253 JAVA_OPTS=" $JAVA_OPTS -Dobj_name=tomcat"