카테고리 없음
스프링부트 jar + 도커 + 스카우터
백봉
2024. 4. 19. 09:54
구성
- api, tcp 통신 서버같이 뷰가 필요없는경우 jsp 를 안쓰는경우 jar 로 만들어 실행할 수 있다.
작업
1. Dockerfile 작성
- 헬스체크 하려면 curl 을 설치해야한다.
# 베이스 이미지 정의
FROM openjdk:17-slim
# 작업 디렉토리 생성
WORKDIR /app
# 애플리케이션 jar 파일 복사
COPY ./target/AB.jar /app/
# 에이전트 및 설정 파일 복사
COPY ./conf/agent.java /app/agent.java
# curl 설치(헬스체크용)
RUN apt-get update && apt-get install -y curl
# 도커 컨테이너에서 실행할 명령어
CMD ["java", "-javaagent:/app/agent.java/scouter.agent.jar", "-jar", "AB.jar", "--spring.profiles.active=prod-was1"]
# 컨테이너가 개방할 포트 지정
EXPOSE 8085 9241
2. docker-compose.yml 파일 작성
- TZ 을 굳이 서울로하는것은 로그 볼 때 편하기 위해서이다.
- 최대 메모리 설정을 안했다.
version: '3'
services:
ab1:
build:
context: .
dockerfile: Dockerfile
ports:
- "8085:8085"
- "9241:9241"
#mem_limit: 36g
volumes:
- ./logs:/app/logs
- ./conf/agent.java/conf/scouter1.conf:/app/agent.java/conf/scouter.conf
healthcheck:
test: ["CMD", "curl", "-f", "http://host.docker.internal:8085/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
restart: always
environment:
- TZ=Asia/Seoul
3. 관련포트 방화벽 열기
4. docker-compose up -d