클라우드 컴퓨팅/Cloud Native

    도커 커널 디버깅 #1

    도커 커널 디버깅 #1

    컨테이너는 실제로 개별적인 컨셉이 아닌 리눅스의 cgroup, namespace등의 결합체이다.보통의 hypervisor는 os 나 커널 기반으로 올라가지만 컨테이너는 파일 시스템의 가상화로 호스트의 커널을 공유한다. cgroup(control group)은 프로세스들이 사용하는 시스템 자원을 수집, 제한한다.namespace는 리눅스 커널에서 프로세스 자원을 격리한다.  도커 컨테이너 생성 시 system call 분석strace를 이용하여 컨테이너 생성시 containerd(도커 런타임)의 프로세스 추적$ strace -f -p `pidof containerd` -o strace_log$ docker run -itd --name busybox_1 --rm busybox 1. containerd-shi..