Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8862

Docker の Node.js イメージのバージョンについて

$
0
0

初めに

Docker Hub に公開されている Docker 公式の Node.js イメージにはさまざまなバージョンがあります.
(Node.js コンテナイメージ URL : https://hub.docker.com/_/node)

その中にはバージョン名が,15.5.0-buster-slimのように15.5.0等の数字とbuster-slim等の文字列を組み合わせたものや,dubnium-stretch-slimのように文字列だけのものがあります.
数字部分はNode.jsのバージョンであることが予測できるのですが,文字列部分はどういった意味があるのかさっぱりわかりませんでした.

そこで今回は文字列部分にどういった意味があるのかをまとめました.

結論

文字列部分には,Node.js の LTS※ サポートのあるバージョンを表す単語と,Linux のディストリビューションを表す単語が含まれることがわかりました.

※ LTS = Long Time Support

Node.jsのLTSサポートのあるバージョンを表す単語

単語意味
fermiumNode.js 14.x.x の LTS のあるバージョン
erbiumNode.js 12.x.x の LTS のあるバージョン
dubniumNode.js 10.x.x の LTS のあるバージョン

Linuxのディストリビューションを表す単語

単語意味
alpineファイルサイズを重視したディストリビューション,非常にサイズが小さい
busterDebian のバージョン 10
strechDebian のバージョン 9
slim処理系なしの軽量版,自身で必要なパッケージを取得する必要がある

例えば,文字列部分がbuster-slimとなっているバージョンは,Debian のバージョン 10 の処理系なしの軽量版のディストリビューションを使ったイメージです.

また,コンテナのサイズはalpine < slim < その他となっています.
コンテナのサイズだけ考えると alpine が最も優秀なように思えますが,alpine はパッケージ管理ソフトが apt ではないことや,Python のイメージを使用する際は alpine を選択すると実行速度が大幅に遅くなる等の問題があるようです.
そのため,やりたいことに合わせてディストリビューションを使い分けるのが良いかと思います.

参考資料

Debianのバージョン一覧 (URL : https://wiki.debian.org/DebianReleases)

まとめ

Docker Hub に公開されているDocker公式のNode.jsイメージの文字列部分の調査をしました.

今回の調査で,例えば,dubnium-stretch-slimは,Node.jsのバージョンは10.x.xで,Debian9の軽量版であることがわかりました.

私自身Docker初心者でコンテナのサイズも気にしていないので,無難にbusterを使用しようと思います.


Viewing all articles
Browse latest Browse all 8862

Trending Articles