이유
친구와 작은 사이드 프로젝트를 하면서 서버에 자바를 띄우는 방식에 대해 이야기를 했다. 이번에는 Docker hub에 Jar 이미지를 올려 EC2에서 실행하는 방식으로 해보는 것이 어떠하냐는 친구의 제안이 있었다. image 파일을 서버에서 받아서 실행만 하면 되기에 EC2에서 처리해야 할 일이 적었고 Docker를 공부할 수 있는 기회가 되는 것 같아 진행해 보기로 했다.
Java Project를 Docker를 사용해 EC2에 올리는 방법
1. Jar 파일을 build를 통해 생성
./gradlew build
2. Docker 파일 생성
# Dockerfile
FROM openjdk:17-jdk-alpine
ARG JAR_FILE= ${JAR 폴더 경로}/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
3. Shell에서 Docker 로그인
docker login
4. Docker 사이트(https://hub.docker.com/)에서 Repository 생성
5. Docker image로 빌드 하기
# Docker build
docker build . -t ${저장소 이름} --platform linux/amd64
6. Docker Repository에 올리기
# Docker push
docker push ${저장소 이름}
7. EC2에서 Docker Image 받아 실행하기
# Docker에서 최신 버전 받기
docker pull ${저장소 이름}
# Docker 받은 image 실행시키기
# 서버 포트 80이랑 Docker 내부 8080(톰캣) 포트 포트포워딩 해주는 것은 -p 옵션
docker run -p 80:8080 ${저장소 이름}
'프로젝트' 카테고리의 다른 글
[ 프로젝트 ] JWT 라이브러리 검증 메서드 이름 (1) | 2023.04.23 |
---|---|
[ 프로젝트 ] Java Spring에 JWT 적용 (0) | 2023.04.16 |
[ AWS ] EC2에 Swap Memory 적용 (0) | 2023.03.05 |
[ AWS ] Jenkins과 Elastic beanstalk을 통한 애플리케이션 배포 (0) | 2023.02.27 |
[ 등산로 정보 웹 ] 시작하며.... (0) | 2022.11.13 |