Underlying Technologies

이정훈·2024년 8월 2일

Docker

목록 보기
5/34

Docker에 깔려있는 기술들을 이해하는 것은 Docker에 대한 심층적인 이해를 도와줄 수 있습니다.
여기서는 이것들에 대해 다뤄보겠습니다.

Underlying Technologies

Linux Containers(LXC)

Linux Containers는 독립적인 여러 리눅스 시스템을 하나의 컴퓨터에서 실행할 수 있도록 도와줍니다.
격리된 공간 역할을 하는 LXC 컨테이너는 전체 운영 체제 사본이 필요 없습니다.
메모리 및 처리 능력과 같은 호스트 리소스를 공유하며 가볍고 빠른 시작을 보장합니다.
호환되는 Linux 시스템간에 Linux Containers는 이식이 가능합니다.

Control Groups (cgrotups)

Control Groups는 리눅스 커널 기능으로 CPU와 메모리 그리고 I/O를 프로세스들에게 할당하거나 관리합니다.
Docker에서는 cgroups를 이용하여 컨테이너가 사용하는 리소스를 제한하여 하나의 컨테이너가 모든 자원을 독점하는 것을 방지합니다.

Union File Systems (UnionFS)

UnionFS는 여러 파일 시스템을 하나의 통합된 보기로 겹쳐서 제공하는 파일 시스템 서비스입니다.
Docker는 UnionFS를 이용하여 이미지와 컨테이너에 계층화된 접근을 제공합니다.
이는 공통 파일을 더 좋게 공유하며 더 빠르게 컨테이너를 만들게 합니다.

Namespaces

Namespaces는 리눅스 커널의 다른 기능입니다.
이는 프로세스에 독립성을 줍니다.
Docker에서는 Namespaces를 이용하여 독립된 워크스페이스를 만드는데 이를 컨테이너라 부릅니다.
Namespaces는 컨테이너 안에 있는 프로세스들이 컨테이너 밖에 있는 프로세스나 호스트 시스템을 방해하지 않도록 보장합니다.
즉, 독립적으로 작동하도록 보장합니다.
namespaces의 유형으로는 PID, NET, MNT, USER 등이 있는데 이들은 각각 프로세스의 다른 측면에서 독립성을 보장하기 위해 사용됩니다.

profile
기록으로 흔적을 남깁니다.

0개의 댓글