Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- multipart upload
- 휴대폰 기기
- FlatList
- react
- Project Bee
- 상속 관계 매핑
- 경우의 수
- web view
- 해외 대외활동
- 버튼 활성화
- 비트마스킹
- bfs dfs
- 완전탐색
- 창의충전소
- 자료구조
- 구현
- ReactNative
- React Natvive
- React Native
- 오블완
- 티스토리챌린지
- BFS
- 노마드코더
- 백준 1992
- 원복
- springboot
- service 테스트
- 폴더구조
- 이영직
- Navigation
Archives
- Today
- Total
유미의 기록들
[최종 프로젝트] Spring Boot를 Docker로 EC2에 배포 본문
728x90
반응형
구축한 AWS EC2와 RDS 환경에서 SpringBoot 애플리케이션을 Docker로 배포하면서 발생한 문제들을 해결한 과정을 정리했다
1. SpringBoot Docker Image 만들기
2. 로컬에 Docker Container 실행
3. Docker Hub에 Push하기
4. EC2에서 Docker Image Pull 받기
5. EC2에서 Docker Container 실행
1. SpringBoot Docker Image 생성
도커 이미지를 만들기 위해서는 DockerFile을 작성해야 한다.
DockerFile을 작성하기 전에 SpringBoot 애플리케이션을 jar 파일로 빌드를 하였다
로컬의 SpringBoot 프로젝트 루트 디렉토리에 DockerFile 만들어서 다음과 같이 작성했다
FROM openjdk:17-jdk
COPY build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
Docker 이미지 빌드
DockerFile이 있는 디렉토리인 프로젝트 루트 디렉토리에서 진행하였다
docker build -t jiyumi/devloop .
Docker Desktop을 보면 이미지가 만들어진 것을 확인할 수 있다
2. 로컬에 Docker Container 실행
EC2에 배포를 하기 전, 제대로 실행이 되는 지 확인해보았다
docker run --name devloop-container --env-file .env -p 8080:8080 -d jiyumi/devloop
3. Docker Hub에 Push하기
만들어진 SpringBoot Docker 이미지를 도커 허브에 Push 하였다
docker login
docker push jiyumi/devloop:latest
도커 허브 사이트에서 푸시된 이미지를 확인할 수 있다
728x90
반응형
'대외활동 기록 > 내일배움캠프' 카테고리의 다른 글
[최종 프로젝트] Route53에서 도메인 구매하여 ALB와 연결 (0) | 2024.11.19 |
---|---|
[최종 프로젝트] AWS 아키텍처 구축 - 2 (0) | 2024.11.17 |
[최종 프로젝트] AWS 아키텍처 구축 - 1 (0) | 2024.11.16 |
[최종 프로젝트] Service 테스트 코드 작성 (0) | 2024.11.15 |
Multipart Upload 방식 vs Pre-signedURL 방식 (0) | 2024.11.14 |
Comments