LabHub

이미지 빌드 · 멀티스테이지와 경량화 · 퀴즈

퀴즈: 멀티스테이지와 경량화

LabHub 에서 이어서 보기

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

  1. 멀티스테이지로 바꿨는데 크기가 거의 안 줄었습니다. 가장 흔한 원인은?

    1. 스테이지 개수가 부족해서
    2. 최종 스테이지에서 빌더 디렉터리를 통째로 복사해서
    3. 캐시가 남아 있어서
    4. 베이스 이미지가 같아서
  2. `scratch` 기반 이미지에서 HTTPS 호출이 `x509: certificate signed by unknown authority` 로 실패합니다. 원인은?

    1. 바이너리가 동적 링크됐다
    2. CA 인증서 번들이 이미지에 없다
    3. 시간이 안 맞다
    4. 네트워크가 막혔다
  3. 알파인 베이스가 오히려 손해가 되는 대표적 상황은?

    1. 최종 이미지 크기가 오히려 더 커져 버릴 때
    2. 이미지 레이어 수가 많을 때
    3. 컨테이너를 루트로 실행할 때
    4. musl 용 바이너리 휠이 없어 소스 컴파일로 넘어가 CI 시간이 폭증할 때
  4. `--target` 옵션의 실용적 쓰임새는?

    1. 최종 이미지를 한 단계 더 작게 만들어 준다
    2. 여러 스테이지 빌드를 병렬로 돌린다
    3. 중간 스테이지까지만 빌드해 디버깅하거나 테스트 전용 이미지를 뽑는다
    4. 빌드 캐시를 비우고 새로 만든다
  5. 이미지 최적화의 성과를 무엇으로 검증하는 것이 가장 타당합니까?

    1. 콜드 스타트 풀 시간과 롤링 업데이트 시 새로 받는 레이어 비율
    2. 이미지 전체 크기(MB) 숫자
    3. 이미지의 레이어 개수
    4. CI 에서 걸린 빌드 시간
  6. `RUN apt-get purge` 로 빌드 도구를 지웠는데 이미지가 2.1MB **늘었습니다**. 왜입니까?

    1. 삭제 표식과 갱신된 패키지 DB 가 새 레이어에 기록되고, 아래 레이어의 원본은 그대로 남아서
    2. purge 가 apt 캐시를 그대로 남기기 때문에
    3. 레이어 압축이 풀린 채로 저장돼서
    4. 레이어 메타데이터가 그만큼 늘어나서