지난 번 포스팅에 이어 이번 포스팅에서는 Docker hub에 올린 이미지를 이용해서 docker-compose.ymal을 작성 후, elastic beanstalk에 올려보겠습니다!
Docker compose 란?
docker 실행환경을 정의하여 어플리케이션을 생성, 시작할 수 있는 서비스입니다. 멀티 컨테이너 환경을 작성할 때도 매우 유용합니다.
저는 아래와 같이 elasticbeantalk 폴더에 yaml 파일을 작성하였습니다.
version: "3.9"
services:
backend:
image: "woohobi/deployment:latest"
ports:
- "80:8080"
restart: "always"
image: docker hub 저장소 위치를 지정합니다.
ports: tcp port 80과 container port 8080을 매칭시킵니다.
aws Elastic Beanstalk은 ec2를 한번 더 추상화시킨 Paas 서비스입니다. 따로 환경설정에 많은 시간을 쏟지 않고 쉽게 환경설정을 구성할 수 있습니다.
aws - Elastic Beanstalk - 새 환경 생성을 해줍니다
웹서버 환경을 선택 후, 선택 클릭
docker 환경에서 서비스를 구성할 것이기 때문에 위와 같이 설정 해줍니다.
어플리케이션 구성되기까지 수 분을 기다린 뒤, 생성된 사이트로 들어가보면, 아래와 같이 기본 화면이 나오는데요,
이 부분을 docker compose 환경이 업로드 하면 우리의 서버가 beanstalk 서버에서 구성되어서 우리가 만든 서버를 동일하게 beanstalk에서 접속할 수 있습니다. 아래와 같이 파일 선택에서 프로젝트 yml 파일을 업로드 해줍니다.
업로드가 완료되면, 우리가 친숙하게 보던 스프링의 기본 화면을 볼 수 있습니다!
다음 포스팅에서는 간단한 api를 만든 뒤, ci/cd 구축을 통해 배포 자동화를 시키고, 우리가 만든 api를 beanstalk에서 받아보도록 하겠습니다!