Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
💗 노션 링크 : https://natural-louse-039.notion.site/4-6-14471ceedd028059b22be69a09b07e97
클라우드 네이티브(Cloud Native) 애플리케이션
트래픽이 증가할 때 빠르게 대처할 수 있는가? (확장성)
장애가 발생했을 때, 빠르게 복구할 수 있는가? (복원력)
운영비용을 효율적으로 운영할 수 있는가?
애플리케이션이 클라우드에 적합하지 않으면, 클라우드는 의미가 없어진다.
어떤 애플리케이션이 클라우드 네이티브 애플리케이션이 될 수 있을까?
1. MSA
2. 컨테이너 (Container)
3. 상태비저장 (Stateless)
4. DevOps 및 CI/CD
컨테이너는 stateless 하다. 컨테이너 삭제되면 읽기/쓰기 레이어도 삭제됨.
Leafy 애플리케이션 구성
PostgreSQL 컨테이너 구성
Leafy PostgreSQL 빌드 및 실행, 테스트
docker network ls
docker network create leafy-network
docker build -t (개인레지스트리명)/leafy-postgres:1.0.0 . --no-cache
.
의 의미.
는 현재 디렉터리를 의미합니다. 즉, 현재 디렉터리에 있는Dockerfile
과 필요한 파일들을 사용하여 이미지를 빌드합니다.-no-cache
의 의미-no-cache
옵션을 사용하면 모든 단계를 캐시 없이 새로 실행합니다.docker push (개인레지스트리명)/leafy-postgres:1.0.0
docker run -d --name leafy-postgres --network leafy-network (개인레지스트리명)/leafy-postgres:1.0.0
docker logs leafy-postgres
docker run -d --name leafy-postgres --network leafy-network (개인레지스트리명)/leafy-postgres:1.0.0
SpringBoot 백엔드 컨테이너 구성
java runtime
이 설치되어있어야 jar, war 실행 가능maven
이나gradle
필요백엔드 컨테이너 빌드 및 실행
docker build -t (개인레지스트리명)/leafy-backend:1.0.0 .
docker push (개인레지스트리명)/leafy-backend:1.0.0
docker run -d -p 8080:8080 -e DB_URL=leafy-postgres --name leafy --network leafy-network (개인레지스트리명)/leafy-backend:1.0.0
docker logs leafy-backend
Vue.js 프론트엔드 컨테이너 구성
docker build -t (개인레지스트리명)/leafy-frontend:1.0.0 . docker push (개인레지스트리명)/leafy-frontend:1.0.0
docker run -d -p 80:80 --name leafy-front --network leafy-network (개인레지스트리명)/leafy-frontend:1.0.0 docker logs -f leafy-front