web-dev-qa-db-ja.com

Python 3.7 Dockerイメージ

私はpythonアプリをドッキングします。Dockerハブに行ったところ、さまざまなサウンドのベースイメージがあることがわかりました。

3.7.0-stretch, 3.7-stretch, 3-stretch, stretch (3.7/stretch/Dockerfile)
3.7.0-slim-stretch, 3.7-slim-stretch, 3-slim-stretch, slim-stretch, 3.7.0-slim, 3.7-slim, 3-slim, slim (3.7/stretch/slim/Dockerfile)
3.7.0-Alpine3.8, 3.7-Alpine3.8, 3-Alpine3.8, Alpine3.8, 3.7.0-Alpine, 3.7-Alpine, 3-Alpine, Alpine (3.7/Alpine3.8/Dockerfile)
3.7.0-Alpine3.7, 3.7-Alpine3.7, 3-Alpine3.7, Alpine3.7 (3.7/Alpine3.7/Dockerfile)

Google検索を試みたにもかかわらず、「ストレッチ」、「スリム」、「スリムストレッチ」、およびアルパインの違いを理解できませんでした。助けて?

26
David Goldfarb

Dockerfilesを含むGithubリポジトリがここにありますが、非常に動的であり、簡単に読み取ることができません。

https://github.com/docker-library/python

Readmeもここにあります。

https://github.com/docker-library/docs/tree/master/python

stretchに関する情報が本当にないようです。誤って削除してしまった場合、gitのリビジョン履歴でも見つかりませんでした。

問題を作成しました: https://github.com/docker-library/python/issues/34

StretchはDebian 9のコードネームです-現在安定版(2019-07-06まで、Debian 10のときバスターがリリースされました)。 「旧安定版」Debian 8のコードネームはJessieです。

https://wiki.debian.org/DebianReleases

私の個人的な推奨事項は、最小限のAlpineイメージを使用し、何かが機能しない場合はDebianイメージにフォールバックすることです:)

DebianとAlpineの比較(可能であればDockerの観点から):

私の限られた経験から、最も顕著な違いはaptapkとGNU libc6とmusl libcです。そしてAlpineは busybox を使用します=多くのシステムコマンドの完全版ではなく。

更新:多くのPythonコンパイル済みバイナリコードのホイールはDebianベースのイメージで動作しますが、再コンパイルする必要があります(pip install)アルパインベースの画像の場合。これらの場合、私はDebianベースのイメージを使用することを推奨します。

22
Messa