DevOps/Docker (2) 썸네일형 리스트형 [Docker] Docker로 Spring Boot 배포 시 이미지 크기 절반으로 줄이기 들어가며Spring Boot 애플리케이션을 Docker로 배포할 때, 별다른 고민 없이 JDK 이미지를 베이스로 쓰는 경우가 많다. 그런데 이미지 크기를 확인해보면 400MB가 넘어가기도 한다. CI/CD 파이프라인에서 빌드와 푸시가 반복될수록, 클라우드 인스턴스에서 pull이 잦을수록 이 크기 차이가 누적되어 배포 속도와 비용에 영향을 준다. 결론부터 말하면, JDK 대신 JRE 이미지를 쓰는 것만으로 이미지 크기를 절반 가까이 줄일 수 있다. 이 글에서는 왜 JRE만으로 충분한지, 멀티 스테이지 빌드는 어떻게 적용하는지, 그리고 JRE 환경에서 운영 중 디버깅은 어떻게 하는지 정리한다. 1. JDK vs JRE, 뭐가 다른가?JDK (Java Development Kit): 컴파일(javac) + 실.. [Docker] 왜 내 JAVA_OPTS는 Docker에서 적용이 안 될까? 왜 내 JAVA_OPTS는 Docker에서 적용이 안 될까?들어가며Docker Compose에서 JAVA_OPTS 환경변수를 분명히 설정했는데, 컨테이너 안의 JVM에는 아무런 옵션도 적용되지 않는 경우가 있다. Dockerfile도 문제없어 보이고, 환경변수도 잘 들어가 있는데 왜 안 먹히는 걸까? 원인을 파고 들어가면 Docker의 ENTRYPOINT 동작 방식, shell의 환경변수 치환, 그리고 컨테이너의 프로세스 모델까지 연결되는 이야기다. 이 글에서는 JAVA_OPTS가 무시되는 근본 원인과 올바른 해결 방법, 그리고 많은 사람이 놓치는 exec 키워드의 중요성까지 다뤄본다. 1. 문제 상황흔히 볼 수 있는 구성이다.# docker-compose.ymlservices: app: envi.. 이전 1 다음