Docker Component

  • Docker Engine : 핵심 기능

 

  • Docker Registry : 이미지 공개 및 공유
  • Docker Compose : 여러 개의 컨테이너 구성 정보를 코드로 정의, 명령을 실행함으로써 애플리케이션의 실행환경을 구성하는 컨테이너들을 관리하기 위한 툴
  • Docker Machine : 클라우드 환경에 Docker의 실행환경을 명령으로 자동 생성하기 위한 툴
  • Docker Swarm : Docker 호스트를 클러스터링 하기 위한 툴

Docker 기술

  • Namespace
    • 접속한 게스트 별로 독립적인 공간을 제공하고 서로가 충돌하지 않도록 리소스를 격리시킴
    • Mnt(파일 시스템 마운트): 호스트 파일 시스템에 구애받지 않고 독립적으로 파일 시스템을 마운트 하거나 원마운트 가능
    • Pid(프로세스): 독립적인 프로세스 공간 할당
    • Net(네트워크): namespace 간에 network 충돌 방지
    • Ipc(System IPC): 프로세서 간의 독립적인 통신 통로 할당
    • Uts(hostname): 독립적인 hostname 할당
    • User(UID): 독립적인 사용자 할당
  • Cgroup(Control Groups)
    • 제어 가능 리소스: 메모리, CPU, I/O, 네트워크, Device 노드(/dev/)
    • 자원에 대한 제어를 가능하게 해주는 리눅스 커널의 기능
    • 시스템의 자원 할당, 우선순위 지정, 거부, 관리, 모니터링 등의 제어 기능을 수행 → 자원의 효율성 향상
    • 단순 제공, 실제 자원 분배를 위해선 각 자원마다 해당하는 서브시스템이 필요
  • Union File System(UFS)
    • 도커가 관리하는 각 Layer에서 각 컨테이너가 이용할 수 있는 독립된 파일 시스템 블록
    • 리눅스 커널이 제공하는 것이 아니어서 Linux 종류별로 다른 형태를 제공
  • Container Format
    • Docker Engine을 구성하는 핵심 기술 스택인 namespace, cgroup, UFS는 컨테이너를 이용하기 위한 Container Wrapper를 갖고 있으며 이를 맞추기 위한 Container Format을 관리하게 됨(default: libcontainer)

 

네트워크 구성(virtual bridge/ virtual NIC)

 

 

 

https://docs.docker.com/get-started/overview/

 

Docker overview

 

docs.docker.com

 

'Container' 카테고리의 다른 글

[Docker] Docker Swarm  (0) 2021.09.11
[Docker] Docker Machine  (0) 2021.09.11
[Docker] Docker Compose  (0) 2021.09.11
[Docker] Docker Engine  (0) 2021.09.11
[Docker] 개념  (0) 2021.09.11

+ Recent posts