[Docker] 스프링부트 프로젝트 이미지 생성 및 컨테이너 실행
DevOps./Docker 2024. 1. 9. 22:54

[Docker] 스프링부트 프로젝트 이미지 생성 및 컨테이너 실행

@Beemo9
목차
이번 포스팅에서는 스프링부트로 작성된 프로그램을 도커 이미지화 하는 과정에 대해 설명함.

 

스프링부트 이미지 생성을 위해선 Jar파일이 필요한데 생성하는 법을 모를 경우 아래 포스팅을 참조하면 됨.

https://infinitecode.tistory.com/47

 

[SpringBoot] 스프링부트 프로젝트 Jar파일 생성

우선 스프링부트로 구현한 웹서버 프로그램을 도커 컨테이너화를 시키기 위해서 Jar파일을 생성해야함. 기술 스택 Gradle Project Editor : InteliJ Ultimate SpringBoot : 3.2.0 JDK : 17 1. 인텔리제이 우측 상단

infinitecode.tistory.com

 

사용 버전
Gradle Project
OS : Window
Editor : InteliJ Ultimate
SpringBoot : 3.2.0
JDK : 17

 


우선 도커 실행환경을 갖추기 위해 다운로드가 필요.

아래 주소에서 Window환경이라면 Docker Desktop 다운로드

https://www.docker.com/get-started/

 

Get Started | Docker

Get started with Docker Desktop and join millions of developers in faster, more secure app development using containers and beyond.

www.docker.com

 

다운로드 후 CMD창에서 명령어를 통해 버전확인이 된다면 다운로드 성공.

docker -v

 

 


다운로드가 다 되었다면 생성하려는 프로젝트의 Terminal에서 아래 명령어를 입력하여 생성.

docker build -t docker-springboot .

 

 

 

에러없이 실행이 종료되었다면 Docker Desktop을 확인하여 아래처럼 이미지가 생성되었는지 확인.

 

그럼 이제 해당 이미지를 통해 스프링부트 프로그램이 실행할 수 있는 가상환경인 컨테이너를 생성해보자.

에디터 터미널 혹은 CMD창에서 아래와 같은 명령어를 실행.

docker run --name docker-Test -p 5000:8080 docker-springboot

 

-p 5000:8080 : 호스트와 컨테이너 간의 포트포워딩을 설정하는 부분. 외부에서 해당 컨테이너로 5000번 포트로 접속을 하면 컨테이너는 8080포트로 LISTEN한다는 의미를 뜻함.
--name : 컨테이너의 이름을 사용자 지정으로 설정.
docker-springboot : 컨테이너에 사용할 이미지의 이름.

 


성공적으로 실행이되었다면 Docker Desktop에서 해당 컨테이너 확인.

 

컨테이너의 Status가 Running상태라면 프로그램이 컨테이너 위에서 정상적으로 실행되고 있다는 걸 의미함!

'DevOps. > Docker' 카테고리의 다른 글

[Docker] 도커를 이용해 Mysql 컨테이너 실행  (0) 2024.01.09
[Docker] 도커란 무엇인가.  (0) 2024.01.09
Beemo9
@Beemo9
개발 기술 블로그, Dev 포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!
image