Docker
-
Containerd VS DockerDocker 2022. 8. 8. 16:15
평소 모든 작업을 Docker에서 진행하고 있지만, 컨테이너 기술의 개념과 이론적인 지식이 많이 부족하다고 생각되어 찾아보게 된 내용을 정리한 글로 내용을 계속 추가할 예정이다. Docker - Docker의 기본 아이디어는 프로세스, CPU, Memory, disk I/O, Network 등의 리소스들을 컨테이너라는 독립적인 하나의 그룹으로 묶어서 관리하자는 것으로 Namespace, cgroup 등 Linux의 여러 커널 기능들을 조합해서 만들어졌다. - 대규모 컨테이너 오케스트레이션인 Kubernetes는 초기에 Docker의 영향을 많이 받았다, 초기 Docker는 하나의 완성된 컨테이너 사용자경험을 만드는데 집중하여 하나의 패키지에 API, CLI, Network, Storage 등 여러 기능을..
-
Docker Container 리소스 관리Docker 2019. 10. 1. 12:41
CPU 리소스 관리 Dokcer Container는 Host의 CPU 자원을 제한없이 사용할 수 있다. 자원 사용의 제한이 없기 때문에 하나의 컨테이너가 수행될 때 CPU-Intensive한 작업을 수행하게 되면 호스트 머신의 모든 CPU 자원을 점유하여 다른 컨테이너의 동작을 방해하는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위해 CPU 사이클에 대한 Quota를 적용이 필요하다. Docker는 기본적으로 CFS(Completely Fair Scheduler) 스케줄러를 사용하며, 1.13 Version+에서는 실시간 스케줄러를 이용할 수 있다. CFS 스케줄러 옵션 설명 --cpus= 현재 실행하고자 하는 컨테이너가 최대 몇 개의 CPU를 사용할 것인지 명시한다. [ --cpus="1.5" ]..