저는 개발용과 프로덕션용으로 각각 두 개의 도커 이미지를 만들고 있습니다. 이러한 이미지는 하나는 개발 이미지이고 다른 하나는 더 작은 런타임 이미지라는 점을 제외하고 동일한 기본 이미지(NVIDIA에서 제공)를 기반으로 합니다.
내가 하고 있는 일을 설명하자면 다음과 같습니다.
- 도커파일:
# syntax=docker/dockerfile:experimental
ARG MODE
FROM nvidia/cuda:11.8.0-cudnn8-${MODE}-ubuntu22.04 AS base
...
그런 다음 그냥 실행합니다.docker build -f ./Dockerfile --build-arg MODE="devel" .
기본 이미지만 변경한 후(개발 및 런타임) 런타임/프로덕션 Docker 이미지의 크기가 개발 이미지보다 큰 것으로 나타났습니다(처음에는 개발 이미지의 기본 이미지가 더 컸다는 점을 기억하세요).
Dockerfile()의 레이어와 명령을 확인하세요 docker history --no-trunc --format "{{.CreatedBy}}: {{.Size}}" $IMAGE_ID
. 레이어/명령이 동일하고 크기도 동일합니다.
두 이미지의 크기가 다른 이유는 무엇일까요?