컨테이너
애플리케이션을 언제든 실행 할 수 있도록 필요한 모든 요소를 하나의 런타임 환경으로 패키징한 논리적 공간
이러한 패키징 기술을 docker에서는 Dockerfile에 적힌 스크립트를 통해 구현
즉, 애플리케이션과 종속 항목을 하나로 묶어 실행하게 해주는 운영 시스템을 가상화한 경량의 격리된 프로세스인 것
개인 데탑 뿐만 아니라, 기업 내의 온프레미스 서버, AWS와 같은 퍼블릭 클라우드에서도 언제 어디서든 빠르고 효율적으로 배포 가능하다 (확장성)
서버구성, OS 설치, 네트워크, 개발 도구 구성 등의 반복적이고 불편한 작업에 대한 시간 낭비를 줄인다.
컨테이너는 우리가 개발한 최소의 Image를 통해 실행되므로 경량이다
일반 서버 애플리케이션 실행과 달리, 언제든 프로세스 정도의 속도로 빠르게 실행할 수 있고 한 번에 여러 개의 컨테이너를 동시에 실행 가능하다
어떤 환경 (개인 or 클라우드 or OS) 에서도 동작 가능한 이식성을 보유하고 있다
컨테이너 자체 애플리케이션 환경에 대한 관리만 필요 -> 서버관리 비용 절감
개발팀과 운영팀의 업무 분리 -> 세분화된 작업 가능. DevOps workflow 구성에 최적
컨테이너 패키징 메커니즘 시스템
애플리케이션 컨테이너
라우터 컨테이너
호스트 OS 위에 Ubuntu와 같은 배포판 리눅스 Image를 통해 배포되는 컨테이너
단일 애플리케이션 실행을 위해 해당 서비스를 패키징하고 실행하도록 설계된 컨테이너