본문 바로가기
Back-end/Spring Cloud (MSA)

Spring Cloud (MSA) - 스프링부트 도커 이미지 생성 후 컨테이너 실행

by javapp 자바앱 2023. 2. 1.
728x90

 

 

도커 이미지 생성

예시1)

윈도우에서 테스트없이 빌드 : ./gradlew clean build -x test

이미지 생성
$ docker build -t llsrrll96/timedeal:timedeal-0.0.1-SNAPSHOT .

생성이 안될 경우

참고

윈도우에서 테스트없이 빌드 : ./gradlew clean build -x test

빌드를 해서 .jar 파일 생성

 

예시2)

docker build -t docker.io/in28min/mmv2-currency-exchange-service:0.0.1-SNAPSHOT .

예시3)

$ docker build -t chat:chat-0.0.1-SNAPSHOT .

{이미지이름}:TAG

 

 

이미지 확인

docker images

 

또는

Docker Desktop 의 images 확인

 

 

 

Dockerfile 생성

프로젝트 루트에 생성

FROM adoptopenjdk/openjdk11
CMD ["./mvnw", "clean", "package"]
ARG JAR_FILE_PATH=target/*.jar
COPY ${JAR_FILE_PATH} app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

 

 

실행 -> 컨테이너

docker run -p 8000:8000 in28min/mmv2-currency-exchange-service:0.0.1-SNAPSHOT

또는

docker run -d --name chat -p 8011:8011 chat:chat-0.0.1-SNAPSHOT

 

도커 컨테이너에 빌드된 스프링부트 서버에 요청 성공!

http://localhost:8000/currency-exchange/from/USD/to/INR

성공

 

 

컨테이너 리스트 확인

docker container ls -a

 

 

컨테이너 아이디 찾아서 stop

docker container stop 7810

 

 


 

컨테이너 실행

docker run -p {외부 포트번호}:{컨테이너 내부 포트번호} {이미지 이름}:{이미지 버전}
docker run -d --name timedeal -p 8011:8080 timedeal:timedeal-0.0.1-SNAPSHOT

docker login

도커 허브 PUSH

docker push {이미지이름}:{TAG}
docker push llsrrll96/timedeal:timedeal-0.0.1-SNAPSHOT

이슈: 이미지 이름에 HUB 아이디가 앞에 있어야 됨

[Docker CE] 도커 이미지 업로드 권한 에러 (denied: requested access to the resource is denied) :: Nirsa (tistory.com)

 

 

 

 

 

 

 

 

참고 

Spring Boot, Dockerfile로 이미지 생성, 배포하기 | Andrew’s Blog (umanking.github.io)

[Docker]도커 이미지 만들기 + 도커 이미지 dockerhub 에 push 해보기(feat.springboot) (velog.io)

댓글