Kubernetes
[Kubernetes] Spring 프로젝트 Docker hub 올려보기
KyooDong
2022. 1. 12. 21:39
728x90
Docker 관련 설명은 생략하겠다.
스프링 부트 프로젝트 준비
Spring boot 프로젝트 생성 후 Run 할 수 있는 상태에서 시작하고자 한다.

빌드
스프링 프로젝트에 Dockerfile 파일을 생성한 뒤 아래 코드를 입력한다.
FROM openjdk:11
COPY ./build/libs/*.jar blip-story.jar
ENTRYPOINT ["java", "-jar", "blip-story.jar"]
이 후 터미널에서 아래 명령어를 통해 실행파일(jar) 파일을 생성한다.
./gradlew clean bootjar
위 명령어를 통해 Spring boot 를 빌드하면 libs/ 디렉토리 하위에 jar 파일이 생성된다.
도커 빌드
docker build -t dkenl135/blip-story:SNAPSHOT-0.0.2 .
도커 빌드 결과
docker images
blip-story 0.0.1-SNAPSHOT e412b167afc0 42 years ago 257MB
도커 실행
docker run -p 8080:8080 dkenl135/blip-story:SNAPSHOT-0.0.2

레지스트리
Docker hub 레지스트리에 이미지를 푸시할 것이다.
Docker hub 에 회원가입 후 Create Repository 를 통해 레포지토리를 생성해주자

# local 의 blip-story 를 리모트(dkenl135)/blip-story 로 태깅
docker image tag blip-story:0.0.1-SNAPSHOT dkenl135/blip-story:0.0.1-SNAPSHOT
docker push dkenl135/blip-story:0.0.1-SNAPSHOT

위에 빌드 할 때에는 SNAPSHOT-0.0.2 로 했으니 push 또한 0.0.2 로 푸시해주면 동일하게 동작한다.
이제 어느 컴퓨터에서든 해당 이미지를 pull 받은 뒤 docker run 하게 되면 실행할 수 있게 된 것이다.