【こんてないめーじ】
コンテナイメージ とは?
💡 コンテナを生み出す『設計図兼材料キット』
📌 このページのポイント
コンテナとコンテナイメージって何が違うの?同じものじゃないの?
なるほど!イメージからコンテナを作るんだね。イメージはどうやって作るの?
レイヤー構造って聞いたけど、それは何?
コンテナイメージを小さくするコツってあるの?
マルチステージビルドが定番だよ。ビルド用のステージでコンパイルして、実行用のステージにはバイナリだけコピーする。ベースイメージもubuntuよりalpine(5MB程度)やdistroless(Google製の最小イメージ)を使うとサイズが劇的に小さくなるよ。実は「.dockerignore」でnode_modulesや.gitを除外するのも重要で、ビルドコンテキストが大きいとビルド自体が遅くなるんだ。イメージサイズが小さいほどpull/pushが速く、セキュリティリスク(含まれるパッケージの脆弱性)も減るから、本番では徹底的に削るのが鉄則だよ。
まとめ:ざっくりこれだけ覚えればOK!
「コンテナイメージ」って出てきたら「コンテナを起動するための設計図・テンプレート」と思えればだいたいOK!
📖 おまけ:英語の意味
「Container Image」 = コンテナの像、コンテナの写し
💬 image(像・イメージ)は、実行環境の完全なスナップショットという意味で使われる。ISOイメージと同じ発想