DEN.SHIN.DEVPOSTSCONTACT

Docker (도커) 를 시작해야"만" 하는 이유


1. 애플리케이션의 개발과 배포가 편해진다.

서버를 부팅할 때 실행되는 운영체제 : 호스트OS

도커 컨테이너는 호스트OS 위에서 실행되는격리된공간

⇒ 독립된 개발환경을 보장 받을 수 있음.

컨테이너를도커 이미지라는 일종의 패키지로 만들어 운영서버에 전달하면 끝

⇒ 서비스를 개발 했을 때 사용했던 환경을 다른 서버에서도 컨테이너로서 똑같이 복제할 수 있기 때문에 개발/운영 환경의 통합이 가능

2. 여러 어플리케이션의 독립성과 확장성이 높아진다.

모놀리스 (Monolith) 애플리케이션: 여러모듈이 상호작용하는 로직을 하나의 프로그램 내에서 구동시키는 방식

⇒ 소규모 서비스엔 어울릴 수 있으나, 서비스가 거대해질수록 소프트웨어의 확장성 및 유연성이 줄어든다는 치명적인 단점이 있음

마이크로서비스 (Microservices) : 모놀리스 방식을 대체하기 위한 개념으로, 여러 모듈을 독립된 형태로 구성

⇒ 언어에 종속되지 않고 변화에 빠르게 대응할 수 있으며, 각 모듈의 유지/보수(관리)가 쉬움

컨테이너는 수 초 내로 생성/시작이 가능하며, 여러 모듈에 독립된 환경을 동시 제공이 가능해, 마이크로서비스구조에 가장 많이 사용되고 있는 가상화 기술.

예를 들어, 웹서비스 → 데이터베이스 컨테이너 + 웹서버 컨테이너

이런 컨테이너 기반의 마이크로서비스는 개발자가 그 구조를 직접 구현하기보다는**도커 스웜모드, 쿠버네티스등의 컨테이너 오케스트레이션 플랫폼을 통해 사용하는 것이 일반적이다.

도커 스웜모드, 쿠버네티스에 대해서는 다음에 자세하게 알아보도록 하자

DOCKER_알아보기
도커 네트워크 기능