진짜 개발자
본문 바로가기

Infra/Docker

Docker - jar파일을 실행하는 도커이미지 만들기(Dockerfile 이용)

728x90

jar파일을 실행하는 도커이미지 만들기


1. jar 생성

1. 스프링 부트에서 간단한 프로그램을 생성한 후 gradle의 bootjar를 이용하여 jar를 build한다


2. build가 완료되면 lib폴더 하위에 jar파일이 생성된다


3. 테스트를 위해 터미널에서 해당 jar파일이 위치한 곳으로 이동하여 실행해본다


2. docker image 생성

1. jar 파일 이동

- 위에서 생성한 jar파일을 도커가 설치되어 있는 곳으로 이동 시킨다

  (필자는 가상머신(CentOS7)을 이용하여 Docker 실습을 진행하므로 CentOS7으로 jar을 이동시켰다)


2. 기본 이미지 다운

- 도커이미지 생성시 사용될 기본이미지를 다운로드한다 jar를 실행하기 위해 jdk가 설치된 이미지를 다운로드 한다


1. jdk가 설치된 docker image 찾기

# docker search jdk


2. 위에서 찾은 jdk가 설치된 docker 이미지를 다운로드 한다

# docker pull rtfpessoa/ubuntu-jdk8


3. 확인


3. Docker image 빌드

1. Dockerfile 생성

- 반드시 "Dockerfile" 이라는 이름으로 docker file 생성

# vi ./Dockerfile


2. Dockerfile 내용작성

FROM : 기본 이미지를 지정한다

ADD : 현재 위치의 test.jar 파일을 app.jar라는 이름으로 이미지에 적재한다

ENTRYPOINT : 이미지가 컨테이너화 되며 실행될 명령을 입력한다


3. 이미지 빌드

- Dockerfile이 생성된 곳에서 아래 명령어 입력

# docker build --tag test:0.1 ./ 

--tag : 생성될 이미지의 태그

 ./ : 현재 명령어가 실행되는 곳의 기준으로 Dockerfile의 위치



2. 생성한 이미지 실행


1. image 확인


2. 이미지 실행

# docker run -p 8080:8080 test:0.1


3. 접속 확인 

- docker 호스트의 "IP:컨테이너 port"

(spring boot의 메인페이지를 매핑하지 않아서 발생하는 에러이므로 무시)