본문 바로가기

클라우드 & 배포

애플리케이션 도커 이미지로 만들고 GCP에 배포하기

이 글에서는 Maven으로 패키징된 애플리케이션을 Docker를 사용하여 GCP 인스턴스에서 실행하는 방법을 단계별로 설명하겠습니다. 이 과정에서는 Dockerfile을 작성하고, Docker 이미지를 빌드 및 푸시한 후, GCP 인스턴스에서 이미지를 실행하는 방법을 다룹니다.

 

1. Dockerfile 작성하기

먼저 IntelliJ IDEA에서 Maven으로 패키징된 .jar 파일을 Docker 이미지로 만들기 위해 Dockerfile을 작성합니다. Dockerfile의 내용은 다음과 같습니다:

FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

 

이 Dockerfile은 OpenJDK 8을 기반 이미지로 사용하고, target 디렉터리의 .jar 파일을 app.jar로 복사한 후, 이를 실행하는 명령어를 정의합니다.

 

2. Docker 이미지 빌드하기

IntelliJ IDEA 터미널을 열고 다음 명령어를 입력하여 Docker 이미지를 빌드합니다:

docker build -t {사용자 이름}/{저장소 이름} .

 

여기서 {사용자 이름}은 Docker Hub 사용자 이름이고, {저장소 이름}은 저장소 이름입니다. 예를 들어, docker build -t myusername/myrepository .와 같이 입력합니다.

 

3. Docker 이미지 실행하기

로컬에서 이미지를 실행하여 제대로 빌드되었는지 확인합니다:

docker run -p 80:80 {사용자 이름}/{저장소 이름}

 

이 명령어는 Docker 컨테이너를 실행하고, 호스트의 포트 80을 컨테이너의 포트 80에 매핑합니다.

 

4. Docker Hub에 이미지 푸시하기

 

Docker Hub에 로그인하고 이미지를 푸시합니다. 먼저 로그인 명령어를 입력합니다:

docker login

 

그 다음, 이미지를 Docker Hub에 푸시합니다:

docker push {사용자 이름}/{저장소 이름}

 

5. GCP 인스턴스에서 Docker 이미지 실행하기

GCP 인스턴스에 SSH로 접속합니다. Docker가 설치되어 있는지 확인합니다. 설치되어 있지 않다면 다음 명령어로 Docker를 설치합니다:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

 

Docker가 설치된 후, Docker 데몬을 시작합니다:

sudo systemctl start docker

 

Docker Hub에서 이미지를 풀(pull)합니다:

sudo docker pull {사용자 이름}/{저장소 이름}

 

마지막으로 이미지를 실행하여 Docker 컨테이너로 애플리케이션을 실행합니다:

sudo docker run -p 80:80 {사용자 이름}/{저장소 이름}

 

이 명령어는 컨테이너를 백그라운드에서 실행하고, 호스트의 포트 80을 컨테이너의 포트 80에 매핑합니다.

 

 

지금까지 Maven으로 패키징된 애플리케이션을 Docker를 사용하여 GCP 인스턴스에서 실행하는 과정을 설명했습니다. Dockerfile을 작성하고, 이미지를 빌드 및 푸시한 후, GCP 인스턴스에서 이미지를 풀(pull)하여 실행하는 방법을 통해 애플리케이션을 일관성 있게 배포하고 실행할 수 있습니다. Docker와 GCP를 사용하면 다양한 환경에서 동일한 설정으로 애플리케이션을 실행할 수 있어 배포 및 관리가 간편해집니다.

 

이 글은 https://class101.net/ko/products/5fc4a3b4fc231b000d85661b 강의를 정리한 내용입니다.