Image alpine:latest¶
Immer mal wieder stoße ich in Seminaren auf die Erklärungen zum Tag :latest. Und da ist gut, wenn mal eine Infoseite hat, welche die wichtigsten Fakten zusammenträgt.
Hinweis
Die folgende Zusammenstellung zum Image alpine:latest soll keine Besonderheiten der Alpine Image Technik darstellen, sondern sich der besonderen Analyse und Erkenntnis rund um Tagbezeichner widmen.
Eine mögliche Ausgabe in der Konsole: hier mit Tag alpine:latest als die Versionsnummer für Alpine 3.8.2 war!
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
cd784148e348: Pull complete
Digest: sha256:46e71df1e5191ab8b8034c5189e325258ec44ea739bba1e5645cff83c9048ff1
Status: Downloaded newer image for alpine:latest
/ # cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.8.2
PRETTY_NAME="Alpine Linux v3.8"
HOME_URL="http://alpinelinux.org"
BUG_REPORT_URL="http://bugs.alpinelinux.org"
/ #
Container-Analyse (in separater Shell natürlich):
docker ps -s (Größen anzeigen)
Die Ausgabe zeigt einen nur wenige Bytes großen Container, was normal ist für frisch erstellte Container.
Für eine aktuellere Version 3.19.1 von Alpine gelten die folgenden Aufrufe und man sollte die jeweilige SHA256 Prüfsummen nachvollziehen. In diesem Fall auch über die Build Pipeline Jenkins, wo sich die Prüfsummen für jeden erstellten Tag checken lassen.
Wir machen mal einen frischen latest (3.19.1) Pull:
docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
4abcf2066143: Already exists
Digest: sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
Die Anregung für das Kommando findet sich auch auf dem Docker Hub.
Docker Hub Infos zum Alpine Image¶
Hier der passende Screenshot zur Version - also dem Tag:
Docker Hub Alpine Tag: latest (amd64)¶
Wir checken die Alpine-Version des alpine:latest Image über einen
docker run Befehl.
docker run -it alpine
/ # cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.19.1
PRETTY_NAME="Alpine Linux v3.19"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
/ #
Eine Image Liste für Alpine:latest (hier: 3.19.1) zeigt:
docker image ls --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
... latest sha256:2c38ae17a4b9252b1f7a310e9485e68e5294c0a241d2a652808ac14fc0b83511 4 days ago 119MB
alpine latest sha256:05455a08881ea9cf0e752bc48e61bbd71a34c029bb13df01e40e3e70e0d007bd 3 months ago 7.38MB
... latest sha256:e9800d4dc15dd264ea6cd95b742cdf6b125373fb3a346ebf2af4a375fa7da3b7 8 months ago 1.11GB
Beim Löschen des Image sieht man die folgenden Infos.
docker image rm alpine:latest
Untagged: alpine:latest
Untagged: alpine@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
Deleted: sha256:05455a08881ea9cf0e752bc48e61bbd71a34c029bb13df01e40e3e70e0d007bd
Bei einer Docker Image Inspektion - siehe docker inspect - finden wir
die beiden SHA256 Prüfsummen wie folgt zugewiesen:
[
{
"Id": "sha256:05455a08881ea9cf0e752bc48e61bbd71a34c029bb13df01e40e3e70e0d007bd",
"RepoTags": [
"alpine:latest"
],
"RepoDigests": [
"alpine@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b"
],
"Parent": "",
}
]
Der Jenkins Job zeigt unter der (zum Zeitpunkt aktuellen) Adresse für den letzten erfolgreichen Build
Jenkins Amd64 Job Alpine latest
zeigt sha256:05455a08881ea9cf0e752bc48e61bbd71a34c029bb13df01e40e3e70e0d007bd (Voila)
SHA256 Prüfsumme für letzten erfolgreichen Build für alpine:latest¶
Dieselben Prüfsummen zeigen (zum Zeitpunkt) die image-tags
alpine:3.19.1
alpine:3.19
alpine:3
alpine:latest
Und genau so findet man die Tags auch in der Docker Hub Doku zum Alpine Image (s.o.) aufgelistet!