Je souhaite ancrer mon python. Je suis allé sur le hub Docker et j'ai découvert qu'il existe une variété d'images de base susceptibles de sonner.
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)
Malgré mes tentatives de recherche sur Google, je n'ai pas pu comprendre les différences entre "stretch", "slim", "slim-stretch" et Alpine. Aidez-moi?
Le dépôt Github avec Dockerfiles est là, mais il est très dynamique et pas facilement lisible:
https://github.com/docker-library/python
Le readme est également ici:
https://github.com/docker-library/docs/tree/master/python
On dirait que les informations sur stretch
sont vraiment manquantes. Impossible de trouver même dans l'historique des révisions git s'il a été accidentellement supprimé.
J'ai créé un problème: https://github.com/docker-library/python/issues/34
Stretch est un nom de code pour Debian 9 - actuellement la version stable (jusqu'au 2019-07-06, lorsque Debian 10 Buster est sorti). "Oldstable" Debian 8 a le nom de code Jessie .
https://wiki.debian.org/DebianReleases
Ma recommandation personnelle est d'utiliser les images alpines minimalistes et de revenir à celles de Debian si quelque chose ne fonctionne pas :)
Comparaison de Debian et Alpine (du point de vue Docker si possible):
D'après mon expérience limitée, la différence la plus notable est apt
vs apk
et GNU libc6 vs musl libc. Et Alpine utilise busybox = au lieu des versions complètes de nombreuses commandes système.
Mise à jour: de nombreuses roues Python avec du code binaire compilé fonctionneront avec des images basées sur Debian, mais doivent être recompilées (par pip install
) pour les images alpines. Dans ces cas, je recommande à nouveau d'utiliser les images basées sur Debian.