스프링부트 프로젝트를 도커를 통해서 EC2에 배포하고자 한다
로컬에서 스프링부트 프로젝트를 빌드하고
이 빌드한 것을 도커 이미지를 만든 후 도커 허브 리포지토리에 push한다.
EC2에서 도커 허브 리포지토리를 통해 이미지를 pull하고
명령어를 입력해서 실행하는 과정을 거쳐 배포할 수 있다.
❗Dockerfile 생성하기
# open jdk java11 버전의 환경
FROM openjdk:11-jdk
# JAR_FILE 변수 정의 -> 기본적으로 jar file이 2개이기 때문에 이름을 특정해야함
ARG JAR_FILE=./build/libs/careerup-0.0.1-SNAPSHOT.jar
# JAR 파일 메인 디렉토리에 복사
COPY ${JAR_FILE} app.jar
# 시스템 진입점 정의
ENTRYPOINT ["java","-jar","/app.jar"]
❗스프링부트 프로젝트 빌드하기
https://radiant515.tistory.com/322
❗Docker 설치
로컬 컴퓨터와 EC2에 각각 도커를 설치해주어야 한다
아래는 윈도우와 우분투에서 설치하는 방법 안내이다!
https://radiant515.tistory.com/315
https://radiant515.tistory.com/318
❗Docker Hub
Docker Hub를 통해 이미지를 push하고 pull할 것이기 때문에 먼저 회원가입 후 로그인까지 실시한다.
❗Docker Image 만들기
프로젝트를 빌드한 것을 도커 이미지로 만들기 위한 과정이다.
아래의 과정은 스프링부트 프로젝트 루트경로에서 실행해야한다.
# docker build -t tokyj515/careerup .
docker build -t [도커아이디/도커리포지토리이름] .
docker images
❗Docker Hub에 Push하기
docker login
docker push tokyj515/careerup
❗EC2에서 Image Pull하기
EC2 ip에 접속한 후 아래의 명령어를 실행한다
docker pull tokyj515/careerup
# host port와 container port를 연결하기 위해 포트가 2개 적혀있다
docker run -d -p 8080:8080 tokyj515/careerup
728x90
반응형
'🔻DevOps > Docker' 카테고리의 다른 글
[Docker] 우분투에 도커 설치 후 명령어 실습 (0) | 2024.07.05 |
---|---|
[Docker] Docker 명령어(조회, 정지, 시작) (0) | 2022.12.26 |
[Docker] 우분투 18.04 Docker 설치하기 (0) | 2022.12.24 |
[Docker] Docker란? (0) | 2022.12.24 |
[Docker] 윈도우11 Docker 설치(WSL2 설치 포함) (0) | 2022.12.23 |