Kubernetes

[Kubernetes] Spring 프로젝트 Docker hub 올려보기

KyooDong 2022. 1. 12. 21:39
728x90

Docker 관련 설명은 생략하겠다.

스프링 부트 프로젝트 준비

Spring boot 프로젝트 생성 후 Run 할 수 있는 상태에서 시작하고자 한다.

Spring 프로젝트 생성 후 실행한 모습

빌드

스프링 프로젝트에 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 를 통해 레포지토리를 생성해주자

Docker hub에 레포지토리를 생성한 모습

# 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

0.0.1-SNAPSHOT 이 푸시된 모습

위에 빌드 할 때에는 SNAPSHOT-0.0.2 로 했으니 push 또한 0.0.2 로 푸시해주면 동일하게 동작한다.

 

이제 어느 컴퓨터에서든 해당 이미지를 pull 받은 뒤 docker run 하게 되면 실행할 수 있게 된 것이다.