컨테이너 기술
컨테이너
애플리케이션을 언제든 실행 할 수 있도록 필요한 모든 요소를 하나의 런타임 환경으로 패키징한 논리적 공간
이러한 패키징 기술을 docker에서는 Dockerfile에 적힌 스크립트를 통해 구현

즉, 애플리케이션과 종속 항목을 하나로 묶어 실행하게 해주는 운영 시스템을 가상화한 경량의 격리된 프로세스인 것
- microVM이라고도 부름
- OS 수준의 가상화 제공
- 독립성을 갖기 때문에 다른 컨테이너에 영향을 주지 않는 stateless 환경 제공
개인 데탑 뿐만 아니라, 기업 내의 온프레미스 서버, AWS와 같은 퍼블릭 클라우드에서도 언제 어디서든 빠르고 효율적으로 배포 가능하다 (확장성)
서버구성, OS 설치, 네트워크, 개발 도구 구성 등의 반복적이고 불편한 작업에 대한 시간 낭비를 줄인다.
컨테이너는 우리가 개발한 최소의 Image를 통해 실행되므로 경량이다
- 컨테이너 이미지 생성의 best practice 중 하나는 이미지 경량화이다
일반 서버 애플리케이션 실행과 달리, 언제든 프로세스 정도의 속도로 빠르게 실행할 수 있고 한 번에 여러 개의 컨테이너를 동시에 실행 가능하다
- Docker => docker compose 기술 이용
어떤 환경 (개인 or 클라우드 or OS) 에서도 동작 가능한 이식성을 보유하고 있다
컨테이너 자체 애플리케이션 환경에 대한 관리만 필요 -> 서버관리 비용 절감
개발팀과 운영팀의 업무 분리 -> 세분화된 작업 가능. DevOps workflow 구성에 최적
컨테이너 사례
넷플릭스 추천 서비스
구글 웹, 앱 서비스
당근마켓 딥러닝 기반 추천 서비스
엔씨소프트 게임 서비스
삼성전자 헬스 케어 서비스
타다 배차 서비스
토스 금융 서비스
에어비앤비 추천서비스
컨테이너 생성타입
컨테이너 패키징 메커니즘 시스템
애플리케이션 컨테이너
라우터 컨테이너
1. 시스템 (or OS) 컨테이너
호스트 OS 위에 Ubuntu와 같은 배포판 리눅스 Image를 통해 배포되는 컨테이너
- 또 다른 VM의 형태, 내부에 다양한 애플리케이션 및 라이브러리 도구를 설치하고 실행 가능
- LXC, LXD, OpenVZ, Linux Sercer, BSD Jails
2. 애플리케이션 컨테이너
단일 애플리케이션 실행을 위해 해당 서비스를 패키징하고 실행하도록 설계된 컨테이너
- 3-tier 애플리케이션 같은 경우, 각 tier(frontend-backend-DB)를 개별 컨테이너로 실행하여 연결
- Docker container runtime, Rocket
'DevOps🚚 > Docker' 카테고리의 다른 글
| [Docker] 컨테이너 CLI에서 관리하기 (0) | 2024.08.23 |
|---|---|
| [Docker] HAproxy (0) | 2024.08.23 |
| [Docker] 레지스트리 구축 (0) | 2024.08.23 |
| [Docker] play with docker 실습 (0) | 2024.08.23 |
| [Docker] 도커의 이해 (0) | 2024.08.23 |