navis
Docker를 이용한 Spring Boot 애플리케이션 배포 본문
이번 포스트에서는 Docker를 이용해 Spring Boot 애플리케이션을 배포하는 방법을 다룹니다. AWS EC2 서버에 Docker 이미지를 배포하고 실행하는 과정을 단계별로 설명하겠습니다.
개발환경
- OS: Ubuntu 22 (AWS EC2)
- Docker: Version 27.3.1, Build ce12230
- Java: OpenJDK 17.0.12
목차
- Docker 파일 작성
- Docker 이미지 생성
- Docker 이미지 실행
- Docker Hub에 이미지 푸시
- AWS EC2에서 Docker 설정 및 실행
- 결론
1. Docker 파일 작성
먼저, Spring Boot 애플리케이션을 Docker로 배포하기 위해 Dockerfile을 작성합니다.
# Step 1: Java 17 JDK 이미지 사용
FROM openjdk:17-jdk-alpine
# Step 2: 작업 디렉토리 설정
WORKDIR /app
# Step 3: 빌드된 JAR 파일 복사
COPY ./build/libs/auth-0.0.1-SNAPSHOT.jar /app/portfolio.jar
# Step 4: 포트 설정
EXPOSE 8001
# Step 5: JAR 파일 실행 명령어 설정
ENTRYPOINT ["java", "-jar", "/app/portfolio.jar"]
2. Docker 이미지 생성
작성한 Dockerfile을 바탕으로 Docker 이미지를 생성합니다.
docker build -t portfolio:latest .
3. Docker 이미지 실행
이미지를 실행하여 컨테이너를 생성합니다.
docker run -d -p 8001:8001 portfolio:latest
이 명령어는 Docker 컨테이너를 백그라운드에서 실행하며, 로컬 포트 8001을 컨테이너의 8001 포트에 매핑합니다.
4. Docker Hub에 이미지 푸시
Docker Hub에 이미지를 푸시하려면 먼저 로그인을 해야 합니다.
docker login
docker tag portfolio:latest junuyang/portfolio:latest # 이미지 태그설정
docker push junuyang/portfolio:latest # 이미지 푸시
5. AWS EC2에서 Docker 설정 및 실행
AWS EC2에 Docker를 설치하고 이미지를 실행하는 단계입니다.
1. 패키지 업데이트 및 필수 패키지 설치
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
2. Docker GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3. Docker 저장소 추가
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. Docker 설치
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
5. Docker 서비스 시작 및 부팅 시 자동 시작 설정
sudo systemctl start docker
sudo systemctl enable docker
6. Docker 로그인
Docker Hub에 로그인합니다.
docker login
7. 사용자 권한 설정
현재 사용자를 Docker 그룹에 추가한 후 로그아웃하고 다시 로그인합니다.
sudo usermod -aG docker $USER
newgrp docker
8. Docker 이미지 다운로드 및 실행
AWS EC2에서 Docker 이미지를 다운로드합니다.
docker pull junuyang/portfolio:latest
9. 컨테이너를 실행합니다.
docker run -d -p 8001:8001 --name portfolio junuyang/portfolio:latest
6. 결론
이 글에서는 Docker를 사용하여 Spring Boot 애플리케이션을 AWS EC2에 배포하는 방법을 다뤘습니다. Dockerfile을 작성하고, 이미지를 생성한 후 EC2에서 Docker 환경을 설정하여 애플리케이션을 실행하는 과정을 단계별로 설명했습니다. 이를 통해 AWS EC2에서 효율적으로 Spring Boot 애플리케이션을 컨테이너화하고 관리할 수 있습니다. Docker Hub를 통해 이미지를 공유하고, 손쉽게 컨테이너를 배포할 수 있어 개발 및 운영에 있어 높은 유연성과 확장성을 제공합니다.
'docker' 카테고리의 다른 글
Docker를 이용한 Redis와 Spring Boot 애플리케이션 네트워크 구성 및 배포 (0) | 2024.10.25 |
---|---|
Docker 이미지 재배포 가이드 (0) | 2024.10.24 |
docker image 생성 및 container (0) | 2024.10.18 |
Docker networke 관리 (0) | 2024.07.11 |
Docker 컨테이너 관리 (0) | 2024.07.09 |