- 리눅스 커널의 기능중 하나로, 시스템 자원을 서로 격리하여 각각 독립된 환경처럼 보이게 하는 기술이다.
- 컨테이너는 여러 리눅스의 기능들(namespace기능, cgroup)을 조합해서 만들어진다.
- 네임 스페이스 기능을 통해 컨테이너마다 IP,프로세스, 파일 시스템 등을 독립적으로 사용할 수 있다
- 컨테이너 마다 ip도 다르게, 프로세스도 서로 것만 보이게, 파일 시스템도 따로 쓰고 싶고 → namespace로 해결
네트워크 격리 → net namespace
프로세스 격리 → pid namespace
파일 시스템 격리 → mount namespace
호스트 이름 격리→ UTS namespace
사용자 권한 격리 → user namespace
참고-cgroup
cgroup은 네임스페이스와는 별도로, CPU, 메모리 , I/O등의 자원 사용량을 제한하여 특정 컨테이너가 시스템 자원을 과도하게 사용하는 것을 방지한다.