私は開発用と本番用にそれぞれ2つのドッカーイメージを作成しています。これらのイメージは、1つは開発イメージで、もう1つはより小さなランタイムイメージであることを除いて、同じネイティブイメージ(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
。レイヤー/コマンドが同じでサイズも同じです。
2つの画像のサイズが異なる理由は何ですか?