Web/Docker

docker-compose로 AWS EC2에 배포 완료

tose33 2024. 1. 2. 14:41

https://tose33.tistory.com/1344

 

postgresql 사용하는 스프링부트 프로젝트 도커화

https://tose33.tistory.com/1341 Docker 용어 Host OS가 설치된 컴퓨터 Container host 에 설치된 각각의 격리된 실행 환경. 각 컨테이너에는 OS 가 각각 설치되어 있지 않고 어플리케이션을 실행하는데 필요한 lib

tose33.tistory.com

 

이전에 spring boot app, postgres 두 개의 컨테이너를 사용하는 하나의 도커 브릿지 네트워크를 docker-compose 파일로 만들었다.

 

목적은 결국 내 컴퓨터에서 개발하고 개발 완료된 앱을, AWS EC2 서버에서 편하게 배포하기 위함이었다.

 

 

Github

https://github.com/LSH3333/instaweb-v2

 

개발 한 스프링 프로젝트를 github 에 올렸다.

여기에는 스프링 앱 jar 파일을 실행할 Dockerfile,

도커 브릿지 네트워크를 구성할 docker-compose.yml 이 포함된다.

 

 

AWS EC2

 

github 을 클로닝해서 가져온다.

 

그런데 github 에는 환경변수 파일인 .env 파일은 올리지 않았다 (시크릿키 등)

.env 파일은 각 환경에서 따로 만들어줘야 한다. 

 

.env 파일

 

docker compose up --build

 

이제 compose 파일을 빌드하기만 하면 아래와 같이 스프링앱 실행이 완료된다.

 

 

 

docker compose up --detach

 

--detach 옵션으로 백그라운드 실행할수 있다.