Open skarltjr opened 1 year ago
리눅스 네임스페이스는 프로세스를 실행할 때 시스템의 리소스를 분리해서 실행할 수 있도록 도와주는 기능
하나의 네임스페이스는 분리된 자신만의 리소스를 갖고 네임스페이스 내부에서는 이를 공유한다.
네임스페이스 덕분에 도커 컨테이너는 자신만의 네트워크, 프로세스, 파일 시스템을 갖고 이게 결국 "독립적인" 컨테이너 자신만의 환경을 갖도록 해준다. 정말 핵심인거같다.
도커 컨테이너는 cgroup을 사용하여 CPU, 메모리 및 네트워크 대역폭과 같은 컨테이너가 사용할 수 있는 리소스를 제한하고 관리한다.
이렇게 하면 한 컨테이너가 다른 컨테이너 또는 호스트 시스템의 성능을 방해하지 않는다.
도커 컨테이너는 seccomp(보안 컴퓨팅 모드)를 사용하여 컨테이너가 수행하는 시스템 호출에 대한 보안 정책을 정의하고 적용.
이렇게 하면 악의적인 컨테이너가 호스트 시스템 또는 다른 컨테이너를 손상시키지 않도록 방지할 수 있다.
도커 컨테이너는 내부적으로 커널의 어떤 기능을 활용하여 가상화를 구현할까?