LabHub

컨테이너 내부 원리 · /proc 에서 본 컨테이너 · 퀴즈

퀴즈: /proc 에서 본 컨테이너

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. `/proc/PID/ns/net` 심볼릭 링크의 대괄호 안 숫자가 뜻하는 것은?

    1. 컨테이너의 짧은 ID 값
    2. 프로세스의 스케줄링 우선순위
    3. 네임스페이스 아이노드 번호 — 같으면 같은 네임스페이스
    4. 할당된 네트워크 인터페이스 번호
  2. 호스트에서 낯선 프로세스가 어느 컨테이너의 것인지 가장 빠르게 알아내려면?

    1. `/proc/PID/cmdline` 을 본다
    2. `/proc/PID/cgroup` 경로에 포함된 컨테이너 ID 를 본다
    3. `/proc/PID/environ` 을 본다
    4. `docker ps` 를 전부 훑는다
  3. `/proc/PID/mountinfo` 의 overlay 항목에서 `lowerdir` 목록이 뜻하는 것은?

    1. 이미지의 읽기 전용 레이어들
    2. 볼륨 마운트 목록
    3. 컨테이너의 쓰기 레이어
    4. 임시 파일시스템
  4. `/proc/PID/status` 의 `CapEff` 가 `0000000000000000` 이면?

    1. root 로 실행 중이다
    2. seccomp 가 꺼져 있다
    3. 실효 capability 가 하나도 없다
    4. 네임스페이스가 없다
  5. `docker stats` 는 여유가 있어 보이는데 OOMKilled 가 났다. 무엇을 확인하는 게 정확한가?

    1. 이미지의 전체 크기와 레이어 개수, 그리고 베이스 이미지 종류
    2. 컨테이너에 걸려 있는 재시작 정책과 종료 이력
    3. cgroup 의 `memory.max` 와 `memory.peak`/`memory.current`
    4. 컨테이너가 쓰는 네트워크 대역폭
  6. `NoNewPrivs: 1` 이 걸린 프로세스에서 일어나는 일은?

    1. 파일시스템에 아무것도 쓸 수 없다
    2. 네트워크로 나가는 통신을 할 수 없다
    3. fork 나 clone 으로 자식 프로세스를 만들 수 없다
    4. 이후 execve 에서 setuid 비트나 파일 capability 로 특권을 얻을 수 없다