😂
Docker Imageどれを選んだらいいのかわからない
困ったこと
いざアップデートしようとしてtagsを見ていてもいっぱいあり過ぎてわからない...
slim?buster?alpine?何が違うんだ...
となったので調べてみました
nodeを導入する前提として進めていきますが、node以外でも参考になるはず
よければこちらもみてください↓
node
22.x
は2024-10-29からLTSになるのでそれまでは依存関係次第ですが20.x
を選択しておけばOK
ベースイメージ
v20.10で絞り込んでみるとこれだけあリました
20.10.0
20.10-slim
20.10-buster
20.10-buster-slim
20.10.0-bullseye
20.10-bullseye-slim
20.10.0-bookworm
20.10-bookworm-slim
20.10.0-alpine3.19
20.10.0-alpine3.18
20.10.0-alpine3.17
20.10.0-alpine
20.10-alpine
Dockerイメージの選び方
各ベースイメージの特徴
Alpine Linux
- サイズ: 非常に小さい(数MB程度)
- 起動速度: 非常に速い
- 安定性: 高い
- セキュリティ: 最小限のパッケージで攻撃面が小さい
- 互換性: やや低い
- パッケージマネージャ:
apk
- 使用シーン: 軽量でセキュリティが重視される場合
Debian
- パッケージマネージャ:
apt-get
Debian buster (Debian 10)
- リリース時期: 2019年7月
- 特徴: LTS
- 保守的なエコシステムを好む企業やプロジェクトによく利用される
Debian bullseye (Debian 11)
- リリース時期: 2021年8月
- 特徴: 最新のLTS
- 新しいパッケージや機能が多数含まれる。新しい技術を利用したい場合に適している
Debian bookworm (将来的なリリース)
- リリース時期: 現在開発中
- 特徴: 最先端の開発版
- 最新のテクノロジーやライブラリをテストするために利用される立ち位置
slimの特徴
通常のDebianイメージよりも軽量化されており、不要なパッケージやファイルが削除されているので、コンテナのサイズが小さくなり、起動速度が向上します。
軽量化に伴い、一部のユーティリティやツールが含まれていない場合があるため、必要に応じて追加のインストールが必要です。
選ぶ基準
基準 | 条件 | 推奨イメージ |
---|---|---|
コンテナのサイズ | 小さなサイズが必要 |
alpine , slim
|
サイズが問題ではない | 標準のDebian (buster , bullseye , bookworm ) |
|
互換性とパッケージ | 広範な互換性が必要 | 標準のDebian (buster , bullseye , bookworm ) |
最低限の互換性で十分 |
alpine , slim
|
|
セキュリティ | 高いセキュリティが必要 | alpine |
標準的なセキュリティで十分 | 標準のDebian (buster , bullseye , bookworm ) |
|
パフォーマンス | 起動速度が重要 |
alpine , slim
|
起動速度はそれほど重要でない | 標準のDebian (buster , bullseye , bookworm ) |
|
最新の技術やパッケージ | 最先端の技術が必要 |
bullseye , bookworm
|
安定性重視 | buster |
Discussion