도커 기초 · 이미지와 컨테이너 · 퀴즈
퀴즈: 이미지와 컨테이너
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
컨테이너 안에서 `uname -r` 을 실행했더니 호스트와 똑같은 커널 버전이 나왔습니다. 무엇이 잘못됐습니까?
- 이미지가 손상됐다
- 컨테이너가 특권 모드로 떠 있다
- 아무것도 잘못되지 않았다 — 커널은 호스트와 공유한다
- 네임스페이스가 생성되지 않았다
이미지에서 100MB 짜리 파일을 만든 뒤 **다음 RUN 에서** 지웠습니다. 이미지 크기는 어떻게 됩니까?
- 그대로이거나 오히려 조금 늘어난다
- 100MB 줄어든다
- 다음 빌드에서만 줄어든다
- 레이어를 합쳐야 줄어든다
`docker tag alpine:3.20 myapp:v1` 을 실행한 직후 디스크 사용량은?
- alpine 크기만큼 늘어난다
- 레이어 수만큼 늘어난다
- 태그를 지울 때까지 두 배가 된다
- 거의 변하지 않는다
`docker export` 로 컨테이너를 내보낸 뒤 `docker import` 로 되살렸더니 컨테이너가 즉시 종료됩니다. 가장 그럴듯한 원인은?
- 내보내는 중에 레이어가 손상됐다
- docker import 가 태그를 지원하지 않기 때문이다
- export 는 파일시스템만 담아서 ENTRYPOINT/CMD 가 사라졌다
- 컨테이너 네트워크 설정이 빠졌다
데이터베이스 데이터 디렉터리를 컨테이너 쓰기 레이어에 그대로 두면 안 되는 가장 큰 이유는?
- 쓰기가 쌓여 이미지 크기가 커져서
- 쓰기마다 copy-up 이 일어나 느리고, 컨테이너를 지우면 데이터도 사라져서
- 레이어 개수 상한에 금방 걸리기 때문에
- 쓰기 레이어에 접근하려면 매번 루트 권한이 필요해서
호스트에서 `ps` 를 쳤을 때 컨테이너 안의 프로세스가 보이는 이유는?
- 도커가 디버깅용으로 노출한다
- 컨테이너 프로세스는 호스트 커널의 평범한 프로세스이고 PID 네임스페이스만 다르다
- 컨테이너가 특권 모드이기 때문
- PID 네임스페이스는 호스트를 숨기지 못한다