Wie man die Version eines Docker-Images angibt

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Docker ist eine leistungsstarke Containerisierungsp Plattform, die die Art und Weise, wie Entwickler Anwendungen erstellen, bereitstellen und verwalten, revolutioniert hat. Wenn Sie mit Docker arbeiten, ist es von entscheidender Bedeutung, zu verstehen, wie Sie die Version eines Docker-Images angeben, um konsistente und zuverlässige Bereitstellungen sicherzustellen. In diesem Tutorial werden Sie durch den Prozess geführt, wie Sie Docker-Image-Versionen verstehen, sie in Ihren Docker-Befehlen angeben und bewährte Verfahren für die Versionsverwaltung anwenden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/push("Push Image to Repository") docker/ImageOperationsGroup -.-> docker/rmi("Remove Image") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/pull -.-> lab-411605{{"Wie man die Version eines Docker-Images angibt"}} docker/tag -.-> lab-411605{{"Wie man die Version eines Docker-Images angibt"}} docker/push -.-> lab-411605{{"Wie man die Version eines Docker-Images angibt"}} docker/rmi -.-> lab-411605{{"Wie man die Version eines Docker-Images angibt"}} docker/images -.-> lab-411605{{"Wie man die Version eines Docker-Images angibt"}} end

Docker-Image-Versionen verstehen

Docker-Images sind die Bausteine von Docker-Containern, und das Verständnis ihrer Versionsverwaltung ist entscheidend für die effektive Verwaltung und Bereitstellung Ihrer Anwendungen. Jedes Docker-Image hat einen eindeutigen Bezeichner, der normalerweise aus einem Repository-Namen, einem optionalen Tag und einem optionalen Digest besteht.

Docker-Image-Tags

Das Tag ist eine Bezeichnung, die Sie einem Docker-Image zuweisen können, um zwischen verschiedenen Versionen desselben Images zu unterscheiden. Tags werden üblicherweise verwendet, um die Version oder die spezifische Konfiguration des Images anzugeben. Beispielsweise bezieht sich das ubuntu:22.04-Image auf das Ubuntu 22.04-Betriebssystem, während ubuntu:18.04 auf die Ubuntu 18.04-Version verweist.

graph TD A[Docker Image] --> B[Repository Name] B --> C[Tag] B --> D[Digest]

Docker-Image-Digests

Neben Tags können Docker-Images auch anhand ihres Digests identifiziert werden. Ein Digest ist ein eindeutiger, inhaltlich adressierbarer Bezeichner für ein Docker-Image, der basierend auf dem Inhalt des Images generiert wird. Digests sind nützlich, um sicherzustellen, dass Sie genau dasselbe Image verwenden, unabhängig von Änderungen am Tag.

$ docker pull ubuntu:22.04
22.04: Pulling from library/ubuntu
Digest: sha256:4e1d64c7c0beb7d35e739e94a6b0c04a72a30a06c21080c2b21e71f1b98d7d4
Status: Image is up to date for ubuntu:22.04

Versionsverwaltungsstrategien

Wenn Sie mit Docker-Images arbeiten, ist es wichtig, eine klare Versionsverwaltungsstrategie zu haben. Dies kann das Verwenden spezifischer Tags zur Angabe der Version Ihrer Anwendung oder das Verwenden des Digests umfassen, um sicherzustellen, dass Sie immer genau dasselbe Image verwenden. Indem Sie bewährte Verfahren für die Versionsverwaltung befolgen, können Sie sicherstellen, dass Ihre Anwendungen konsistent und zuverlässig bereitgestellt werden.

Angeben von Image-Versionen in Docker-Befehlen

Wenn Sie mit Docker arbeiten, können Sie die Version eines Images in verschiedenen Docker-Befehlen angeben. Lassen Sie uns untersuchen, wie dies geht:

Herunterladen von Docker-Images

Um eine bestimmte Version eines Docker-Images herunterzuladen, können Sie den docker pull-Befehl verwenden und das Tag oder den Digest angeben:

## Pull a specific tag
docker pull ubuntu:22.04

## Pull a specific digest
docker pull ubuntu@sha256:4e1d64c7c0beb7d35e739e94a6b0c04a72a30a06c21080c2b21e71f1b98d7d4

Ausführen von Docker-Containern

Beim Ausführen eines Docker-Containers können Sie die Image-Version mit der gleichen Syntax wie beim docker pull-Befehl angeben:

## Run a container with a specific tag
docker run -it ubuntu:22.04 /bin/bash

## Run a container with a specific digest
docker run -it ubuntu@sha256:4e1d64c7c0beb7d35e739e94a6b0c04a72a30a06c21080c2b21e71f1b98d7d4 /bin/bash

Erstellen von Docker-Images

Beim Erstellen von Docker-Images können Sie die Basisimage-Version in der FROM-Anweisung der Dockerfile angeben:

## Specify a base image with a tag
FROM ubuntu:22.04

## Specify a base image with a digest
FROM ubuntu@sha256:4e1d64c7c0beb7d35e739e94a6b0c04a72a30a06c21080c2b21e71f1b98d7d4

Durch die Verwendung bestimmter Versionen von Docker-Images können Sie sicherstellen, dass Ihre Anwendungen konsistent und zuverlässig bereitgestellt werden, unabhängig von Änderungen an der neuesten Version des Images.

Bewährte Verfahren für die Versionsverwaltung

Beim Verwalten von Docker-Image-Versionen ist es wichtig, bewährte Verfahren zu befolgen, um die Konsistenz und Zuverlässigkeit Ihrer Anwendungen sicherzustellen. Hier sind einige Empfehlungen:

Verwenden Sie spezifische Tags

Verwenden Sie immer spezifische Tags oder Digests, wenn Sie auf Docker-Images verweisen, anstatt sich auf das latest-Tag zu verlassen. Das latest-Tag kann irreführend sein, da es möglicherweise nicht immer auf die Version zeigt, die Sie erwarten.

## Use a specific tag
docker pull ubuntu:22.04

## Avoid using the 'latest' tag
docker pull ubuntu:latest

Implementieren Sie eine Versionsverwaltungsstrategie

Entwickeln Sie eine klare Versionsverwaltungsstrategie für Ihre Docker-Images, wie beispielsweise die Verwendung von semantischer Versionierung (z. B. major.minor.patch) oder datumsbasierter Versionierung (z. B. YYYY-MM-DD). Dies wird Ihnen helfen, Änderungen an Ihren Images effektiver zu verwalten und zu verfolgen.

Automatisieren Sie das Image-Building

Automatisieren Sie den Prozess des Erstellens und Pushens von Docker-Images, beispielsweise indem Sie ein Continuous Integration (CI)-Tool wie LabEx CI/CD verwenden. Dies wird dazu beitragen, sicherzustellen, dass Ihre Images konsistent erstellt werden und dass Sie immer einen klaren Überblick über die an Ihren Images vorgenommenen Änderungen haben.

## Example LabEx CI/CD pipeline
image: ubuntu:22.04
build:
  script:
    - docker build -t my-app:v1.0.0.
    - docker push my-app:v1.0.0

Überwachen Sie Image-Schwachstellen

Überwachen Sie regelmäßig Ihre Docker-Images auf bekannte Schwachstellen mit Tools wie LabEx Security Scanning. Dies wird Ihnen helfen, über alle Sicherheitsrisiken informiert zu bleiben und sicherzustellen, dass Sie die sichersten Versionen Ihrer Images verwenden.

Indem Sie diese bewährten Verfahren befolgen, können Sie die Versionen Ihrer Docker-Images effektiv verwalten und die Konsistenz und Zuverlässigkeit Ihrer Anwendungen gewährleisten.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie Docker-Image-Versionen effektiv verwalten können. Indem Sie die Wichtigkeit des Angebens von Image-Versionen verstehen, die entsprechenden Docker-Befehle nutzen und bewährte Verfahren für die Versionsverwaltung befolgen, können Sie sicherstellen, dass Ihre auf Docker basierenden Anwendungen konsistent und zuverlässig bereitgestellt werden. Das Beherrschen dieser Fähigkeiten wird Ihnen helfen, Ihre Docker-Arbeitsabläufe zu optimieren und die Kontrolle über die Versionsverwaltung und den Bereitstellungsprozess Ihrer Anwendungen zu behalten.