Dockerfileを書く際に、親イメージに何を選択するか迷うことがあります。
以前は軽量なAlpineを選択することが多かったのですが、例えばiconvなどのモジュールを追加しようとすると、思いのほか苦戦を強いられたりすることがあります。コンパイルが必要なモジュールを追加しようとすると、コンパイルに必要なパッケージやライブラリを大量に追加せねばならないし、それらのインストールにaptやyumではなく、apkという独自の管理ツールを使うこともあり、一筋縄ではいかず苦労した経験が何度もあります。
そんなわけで、最近はDebianベースの親イメージを選択することが多くなったのですが、パッケージ追加の際にも、Alpineのときのように悩まされることもほとんどなくなり、快適に開発が出来るようになりました。
Debianベースのイメージには、bullseye、buster、stretch、jessieなどの添え字が付くことが多いです。
これらは、Debianのバージョンを表したものなのですが、どれがどのバージョンなのか迷うことが多いので、ここにまとめておこうと思います。
コードネーム | バージョン |
bullseye | v11 |
buster | v10 |
stretch | v9 |
jessie | v8 |
さすがに今からstretchやjessieを使うわけにはいきませんので、間違えないよう気を付けたいですね。
(使おうと思っても、リポジトリが見つからずビルド出来ないかも知れない)
ホームページの制作(デザイン・コーディング・プログラミング)に加え、ネットショップの販売促進に関するアドバイスも致します。 20年以上に渡って実際にネットショップを運営した経験を生かし、聞きかじりではない実績を伴ったノウハウを、自分の言葉でお伝えいたします。 プログラミングの経験は30年以上。HTML、CSS、JavaScript、TypeScript、Vue、NuxtJS、Node.js、MySQL、MongoDB、Elasticsearch、WordPress、PHP、Docker、Electronなど、幅広く対応します。
コメント