본문 바로가기

Java/Spring

[Spring] 길찾기 서비스 #2

What to do?

Docker 컨테이너 실습하기

docker 컨테이너 환경세팅 하기 전에, docker 사용법을 간단히 정리하였다.


Intellj에서 프로젝트 Build하기

 

Docker 컨테이너에서는 build를 한 jar파일을 실행시킬 것이다.

그래서 일단 Intellj에서 build 관련된 명령어 사용법들을 알아보자.

 

  • Build하기
./gradlew build

명령어를 실행하면 build/libs 폴더에 jar파일이 두개가 생성된다.

-plain.jar는 의존성을 포함하지 않은 jar파일이고, 다른 파일은 모든 의존성을 포함한 jar파일이다.

 

  • 빌드파일 삭제
./gradlew clean

명령어를 실행하면 build 폴더가 삭제된다.

.

  • Jar파일명 바꾸기

위에서 명령어를 실행했을 때 build파일명은 자동으로 붙었다.

원하는 파일명으로 수정하고 싶으면 build.gradle파일에 다음의 코드블럭을 추가해주면 된다.

bootJar {
    archiveFileName = "app.jar"
}

다시 빌드를 하면 app.jar라는 이름로 jar파일이 생성된걸 볼 수 ㅣㅇㅆ다.

  • Jar 파일 실행하기

Build된 jar파일을 실행시켜보자

java -jar [jar파일 경로]

명령어를 실행시켜보면 app을 run돌렸을 때와 마찬가지로 로그가 뜨는게 보인다.


Docker 파일 작성하기

 

# Base이미지 이름
FROM openjdk:11

# 변수 선언 - JAR_FILE에 app.jar 파일이 저장된 경로 지정
ARG JAR_FILE=build/libs/app.jar

# app.jar를 Dokcer container로 복사
COPY ${JAR_FILE} ./app.jar

# 실행환경 - TimeZone은 서울시간
ENV TZ=Asia/Seoul

# Docker 시작시 java -jar ./app.jar 명령어 실행
ENTRYPOINT ["java","-jar","./app.jar"]


Docker파일 build하기

Docker Image를 생성하자.

docker build -t [태그명] [도커파일 경로]

docker build -t nsm4421/compass-project .

Docker desktop을 통해 확인해보면 방금 build한 Image가 생성된걸 확인할 수 있다.

docker desktop


정상동작 확인

몇가지 docker 명령어를 통해서 정상동작하는지 확인해보자

 

  • 도커 컨터이너 정상동작하는지 확인하기

위에서 만든 이미지를 실행시켜보자.

docker run [이미지 이름] -p [local 포트번호]:[docker 컨테이너 포트번호]

docker run nsm4421/compass-project -p 8080:8080

그럼 정상적으로 실행되는 모습을 볼 수 있다.

 

  • Dockerfile의 명령어 실행되었는지 확인하기

dockerfile에서는 로컬에서 빌드한 app.jar파일을 복사해서, docker container로 복사하기로 되어 있다.

그럼 docker container 내부에는 app.jar파일이 있어야 한다.

이걸 한번 확인해보자.

# 존재하는 모든 컨테이너 출력
docker ps -a

# 현재 동작하고 있는 컨테이너 출력
docker ps

docker exec -it [컨테이너 ID] bash

확인해보면 app.jar 파일이 생성된걸 볼 수 있다.

 

'Java > Spring' 카테고리의 다른 글

[Spring] 게시판 만들기 #1  (0) 2022.11.07
[Spring] 길찾기 서비스 #4  (0) 2022.11.06
[Spring] 길찾기 서비스 #3  (0) 2022.11.05
[Spring] 길찾기 서비스 #1  (0) 2022.11.05
[Spring] 길찾기 서비스 #0  (0) 2022.11.05