Docker

    컨테이너의 작동원리(namespace and cgroup)

    컨테이너는 프로세스 격리화 기술입니다. 컨테이너는 격리된 프로세스 사용을 위해 리눅스 커널의 namespace와 cgroup이라는 기술을 사용합니다. namespace vm은 머신별로 독립적인 공간을 제공해 서로가 충돌하지 않도록 하는 기능이 있다. 리눅스에서는 이와 동일한 역할을 하는 namespace기능을 커널에 내장하고 있다. namespace는 mnt, pid, net, ipc, uts, user 에 대한 격리화를 지원한다. 즉, 컨테이너에 실행된 프로세스가 시스템에 대해서 독립되어 볼 수 있도록 구현해 준다. cgroup 자원에 대한 제어를 가능하게 해주는 리눅스 커널 기능입니다. cpu, mem, I/O, network, device 를 제어할 수 있다.