Vibecap 서버 배포

docker를 사용해서 애플리케이션을 배포하는 과정은 다음과 같다. 배포 과정

  1. 로컬에서 docker image 빌드
  2. docker image를 docker hub에 업로드
  3. 배포 환경에서 docker image 다운로드
  4. 배포 환경에서 docker container 실행

도커 이미지 생성

배포 환경에 맞는 이미지를 생성해야 한다.
애플리케이션이 실행될 architecture에 맞는 이미지를 생성해야 한다.

Dockerfile 작성

FROM --platform=$BUILDPLATFORM openjdk:11 

ARG BUILDPLATFORM

COPY . /app
WORKDIR /app

CMD ["java", "-jar", "Vibecap_Back-0.0.1-SNAPSHOT.jar"]

이미지를 빌드할 때 컨테이너가 실행될 기기의 아키텍처를 인자로 전달되도록 작성했다.

$ docker image build --build-arg BUILDPLATFORM=amd64 -t mingeun2154/vibecap-server:0.0.0 .

이미지의 namespace를 docker hub 계정 닉네임으로 지정해줘야 push 할 수 있다.

도커 허브에 업로드

로컬에서 빌드한 이미지를 도커 허브에 업로드한다.

도커 허브에 접근하기 위해서는 docker hub에 로그인 해야한다.

$ docker login
$ docker image push mingeun2154/vibecap-server:0.0.0

도커 이미지 다운로드

$ docker image pull mingeun2154/vibecap-server:0.0.0

docker container 실행

  • -p local_port:container_port : port forwarding
  • -d : 백그라운드 컨테이너 실행. ec2 instance와의 연결이 종료되어도 컨테이너는 종료되지 않고 계속 실행된다.
$ docker container run -d -p 8080:8080 mingeun2154/vibecap-server:0.0.0

모든 도커 컨테이너 정보 출력

$ docker ps -a

references

Comments