Docker

mjjin·2023년 9월 28일
0

나름 길었던 2주간의 프로젝트가 끝났다.
프로젝트 기간 동안은,
개인공부를 할 시간이 거의 없었다.

프로젝트도 끝났으니 이번 추석 연휴동안
관심있던 것들을 배워보려고 한다.

Docker

여러 계층의 Application을 container로 분리, 연결하여 실행하는
MSA (MicroService Architecture) 프로젝트에 유용하다.
Application의 Infra(runtime)는 Image를 통해 제공하고
Public or Private 하게 공유 가능하다.
Github와 유사한 방식으로 Docker Hub에서 제공한다.
이렇게 제공된 Image를 기반으로 Application 서비스를 제공, 이를 컨테이너화(Containerization) 할 수 있다.

Docker Container

애플리케이션을 언제든 실행 가능하도록 필요한 모든 요소를
하나의 런타임 환경으로 패키징한 논리적 공간을 말한다.

한마디로, 애플리케이션과 종속 항목을 하나로 묶어 실행하게 해주는 운영시스템을 가상화한 격리된 프로세스이다.

이 컨테이너는 독립성을 갖기 때문에, 다른 컨테이너에 영향을 주지 않는
statless 환경을 제공한다.

이 컨테이너는 도커 이미지(DockerFile)를 기반으로 작동하게 된다.

컨에니어 기술을 통해
개인 데스크탑, AWS와 같은 퍼블릭 클라우드까지
언제 어디서든 빠르고 효율적으로 배포가 가능하며 확장성 또한 가지고 있다.

이 때, 한번에 여러개의 컨테이너를 실행 하는 것이
docker compose이다.

3-tier 애플리케이션과 같은 경우 각 tier (frontend-backend-DB)를 개별 컨테이너로 실행하여 연결한다.

0개의 댓글