폴더 최상위에 Dockerfile 생성
springboot를 의존성에 추가했을 경우, bootJar을 클릭하여 JAR 파일 생성
이때 생성된 build/libs/~~.jar 파일
앞서 생성한 도커파일에 커맨드 작성
FROM openjdk:18-ea-jdk-slim
VOLUME /tmp
COPY build/libs/demo-0.0.1-SNAPSHOT.jar codingtest-service.jar
ENTRYPOINT ["java","-jar","codingtest-service.jar"]
FROM은 오픈소스 자바
VOLUME은 스프링부트가 위치할 root
COPY는 지정된 경로의 jar파일을 container에 복사
ENTRYPOINT 복사한 jar파일 실행
그럼 이제 도커파일을 이미지화 한다.
명령창에서 "codingtest:0.0.1" 이라는 이름으로 이미지 생성
docker build -t codingtest:0.0.1 .
뒤에 . 으로 현재 위치에서 dockerfile을 찾으라는 의미니 빼먹지 말기
그럼 도커에서 외부 자바와 내 jar파일을 이용해 이미지를 빌드해준다.
이미지 실행
docker run -p 8888:8080 --name codingtest1 codingtest:0.0.1
-p : port 내 로컬의 8888번 포트와 가상환경의 8080 포트를 연결한다
--name : codingtest1 으로 설정
그 뒤는 생성한 이미지 이름
그럼
반가운 스프링이 날 마주한다.
이제 앞서 설정했던 내 서버의 포트 8888을 실행하면, 가상환경 8080에서 실행중인 스프링이 처리를 해주는 것을 볼수 있습니다.
지금은 H2 를 이용해서 데이터베이스 연결이 따로 필요없었지만
다음 글에서 postgresql과 연결하기 위해 Docker-compose를 활용해 이미지를 빌드 및 실행해보겠습니다.
'스프링' 카테고리의 다른 글
Spring Security 기술로 인증/인가 커스텀하기 (0) | 2024.08.25 |
---|---|
스프링과 JWT(Json Web Token) 기술을 이용한 인증과 인가 구현 (0) | 2024.08.06 |
<인프런> 실전! 스프링 부트와 JPA 활용1 - 새로이 배운 것 (0) | 2024.07.18 |
[Docker] SpringBoot + PostgreSql docker-compose 쉽게 하기 (0) | 2024.05.28 |
자바 스프링, 알고 쓰자 (0) | 2024.03.30 |