DockerのDebianベースの親イメージのバージョンについて

Docker

Dockerfileを書く際に、親イメージに何を選択するか迷うことがあります。

以前は軽量なAlpineを選択することが多かったのですが、例えばiconvなどのモジュールを追加しようとすると、思いのほか苦戦を強いられたりすることがあります。コンパイルが必要なモジュールを追加しようとすると、コンパイルに必要なパッケージやライブラリを大量に追加せねばならないし、それらのインストールにaptやyumではなく、apkという独自の管理ツールを使うこともあり、一筋縄ではいかず苦労した経験が何度もあります。

そんなわけで、最近はDebianベースの親イメージを選択することが多くなったのですが、パッケージ追加の際にも、Alpineのときのように悩まされることもほとんどなくなり、快適に開発が出来るようになりました。

Debianベースのイメージには、bullseye、buster、stretch、jessieなどの添え字が付くことが多いです。

これらは、Debianのバージョンを表したものなのですが、どれがどのバージョンなのか迷うことが多いので、ここにまとめておこうと思います。

コードネームバージョン
bullseyev11
busterv10
stretchv9
jessiev8

さすがに今からstretchやjessieを使うわけにはいきませんので、間違えないよう気を付けたいですね。
(使おうと思っても、リポジトリが見つからずビルド出来ないかも知れない)

コメント

タイトルとURLをコピーしました