이미지 종류
JDK
amazoncorretto:{version}
Java Development Kit(JDK)를 포함하고 있어 애플리케이션 개발과 실행 모두에 사용할 수 있다.
amazoncorretto:{version}-alpine
경량화된 Alpine Linux 기반의 JDK 이미지로 작은 크기로 가벼운 환경을 제공한다. 그러나 Alpine은 musl libc를 사용하므로, 일부 라이브러리와의 호환성 문제가 있을 수 있다.
musl libc: musl은 리눅스 커널 기반의 운영체제용 C 표준 라이브러리다. MIT 라이선스로 배포되며 표준을 준수하는 libc 구현체 개발을 목표로 개발되었다. Alpine Linux는 일반적인 Linux 배포판과 달르게 Musl libc로 컴파일되었다.
JRE: 8버전 이후 제공하지 않음
amazoncorretto:8-jre
Java Runtime Environment(JRE)만 포함된 이미지로 애플리케이션을 실행하는 데 필요한 최소한의 환경을 제공한다.
amazoncorretto:8-jre-alpine
Alpine Linux 기반의 JRE 이미지로 경량화된 환경에서 Java 애플리케이션을 실행할 수 있도록 한다.
Slim
amazoncorretto:{version}-slim
기본 JDK 이미지 기반이지만 불필요한 파일을 제거하여 크기를 줄인 이미지다. 개발 환경에서 사용할 수 있으며, 빠른 배포 및 실행이 가능합니다.
활용 방법
이미지 사용
$ docker run amazoncorretto:21 java -version
Unable to find image 'amazoncorretto:21' locally
21: Pulling from library/amazoncorretto
e42e49097fe7: Pull complete
8928a0cb9d97: Pull complete
Digest: sha256:970e3e04b883e119eb3eed450153a4b358f7f22de531d6dc41179a068932721f
Status: Downloaded newer image for amazoncorretto:21
openjdk version "21.0.6" 2025-01-21 LTS
OpenJDK Runtime Environment Corretto-21.0.6.7.1 (build 21.0.6+7-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.6.7.1 (build 21.0.6+7-LTS, mixed mode, sharing)
도커파일 (Dockerfile)
# Corretto 21 JDK 이미지 사용
FROM amazoncorretto:21
# 작업 디렉토리 설정
WORKDIR /app
# JAR 파일 복사
ARG JAR_FILE_PATH=build/libs/*.jar
COPY ${JAR_FILE_PATH} app.jar
# 포트 노출
EXPOSE 8080/tcp
# 애플리케이션 실행
ENTRYPOINT ["java", "-jar", "app.jar"]
참고
- 도커 허브 공식 이미지 amazoncorretto - Official Image (Link)
- Getting Started with Amazon Corretto 21 on Docker Images (Link)