我正在创建两个 docker 映像,一个用于开发,另一个用于生产。这些映像基于相同的基础映像(由 NVIDIA 提供),区别在于一个是开发映像,另一个是运行时映像(后者较小)。
只是为了说明我在做什么,是这样的:
- Dockerfile:
# 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
) 的层和命令,层/命令是相同的,并且它们的大小是相同的。
两幅图像尺寸不同的原因可能是什么?