도커 배포 과정
로컬 도커
- spring boot 프로젝트가 있고, 도커 데스크탑 앱을 설치한 상태
- 빌드 -> .jar파일 생성
- Dockerfile : 이 jar파일을 어떤 환경에서 실행할지 기록
-
Dockerfile을 이용해 도커 이미지 생성 . 이 때 docker desktop 앱 필요 docker-compose build –no-cache 이 도커이미지는 내 코드와 환경이 포함되어있음.
-
도커이미지 실행 docker-compose up -d 이 명령어를 실행하면 도커 데스크톱앱이 만들어진 도커이미지를 확인하고 도커 컨테이너 생성 후 실행 (즉 도커 컨테이너는 내가 만드는게 아니라 도커 앱이 알아서 실행 및 관리)
- 도커 컨테이너가 실행되고 있다면 (ide에서 서버 실행하지 않고) 브라우저에서 localhost:8080을 요청하면 데이터 받을거임.
- 끄려면 docker-compose down 여기까지가 로컬 도커 여기까지 자세한 내용은 DOCKER_GUIDE 확인
도커 허브
- 단순히 도커 이미지를 저장하는 공간이라 생각해도 됨.
큰 줄기의 CI/CD 방식
- github 에 commit /push => deploy.yml 및 Dockerfile을 통해 githubactions 로 도커이미지 생성
=> 도커허브 저장 => 클라우드 서비스(aws, oracle 등)이 도커허브의 도커이미지를 실행
2=> 클라우드 서비스(railway,render,Vercel)가 github repo (Dockerfile)를 통해 도커이미지 생성 + 실행
난 2번 railway을 써서 배포함 (railway는 1번방식도 지원하긴함. )
==> 결국 도커 및 배포를 railway로 한다면 Dockerfile(및 여러 환경설정)만 잘 작성하면 됨.
도커 원리라던가 잘 이해 못해도 상관없음.. github 에 commit /push