概要
- nodeのDockerイメージのタグ名についているalpineとslimが意味する物を知らなかったのでまとめてみる。
node: バージョン名
のタグ
- このイメージが最も一般的なイメージらしい。「迷ったらこれ使っとけば万事オッケー」的なことが公式にも書いてあった。
- 「迷ったらバージョン名だけのイメージを選択する」は鉄則っぽい。
node: バージョン名-bullseye
もしくはnode: バージョン名-buster
のタグ
- bullseyeやbusterはDevian(Unix系ディストリビューションを作成しているプロジェクト)がリリースしているDebian GNU/Linuxディストリビューションのバージョンと紐づくスイーツコード(開発コードネーム)らしい。イメージがどのDebian GNU/Linuxディストリビューションをもとに作られているかがわかる。
-
node: バージョン名-bullseye
はDebian 11.0(bullseye)をもとにしている。 -
node: バージョン名-buster
はDebian 10.0(buster)をもとにしている。 - イメージに別途、パッケージをインストールして使いたい場合、この辺を使えばわざわざインストールしなくてもDebian GNU/Linuxのディストリビューションに入っているから手間が省ける。
- ちなみに余談だがDebian GNU/Linuxの開発コードネームはトイ・ストーリーの登場キャラクターから取っているらしい。(不安定番には無印トイ・ストーリーのおもちゃを壊す子供のシドになぞらえてsidとつけるらしい。)
node: バージョン名-alpine
のタグ
- Alpine Linuxをもとに作られているイメージらしい。
- 超軽量、イメージサイズを小さくしたいならこのイメージを選択する。
- 超軽量が故に、入っていないパッケージもあるのでDockerfileで自分でカスタムすることが基本必須となる。
- Dockerfileへの記載方法が分からない人は下記を読んでalpineのDockerイメージの説明を参考にすると良いらしい。
node: バージョン名-slim
- nodeの事項に必要な最低限のパッケージのみしか入っていない。
- よっぽどの理由(容量的問題)などが無い限りあまり選ばない。
謝辞
- 本内容は同僚の方が教えてくださった知見です。この場を借りてお礼申し上げます。本当にありがとうございます!
参考文献
上記の「Image Variants」に記載