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 desktop을 통해 확인해보면 방금 build한 Image가 생성된걸 확인할 수 있다.
정상동작 확인
몇가지 docker 명령어를 통해서 정상동작하는지 확인해보자
- 도커 컨터이너 정상동작하는지 확인하기
위에서 만든 이미지를 실행시켜보자.
docker run [이미지 이름] -p [local 포트번호]:[docker 컨테이너 포트번호]
그럼 정상적으로 실행되는 모습을 볼 수 있다.
- 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 |