Welche Rolle spielt das neueste Tag in Docker?
In Docker dürfte der am meisten missverstandene Teil das neueste Label sein. Die Verwirrung ist hauptsächlich auf den Namen zurückzuführen, da die wörtliche Bedeutung nicht die wahre Bedeutung wiedergibt. In diesem Artikel erfahren Sie, was das neueste Tag wirklich bewirkt und wie man es richtig verwendet.
Normalerweise gibt es zwei Möglichkeiten, Bilder zu markieren: Verwenden Sie den Docker-Tag-Befehl oder verwenden Sie -t, um Parameter beim Ausführen des Docker-Builds zu übergeben. In beiden Fällen hat der Parameter normalerweise die Form Repository-Name:Tag-Name, zum Beispiel: Docker-Tag myrepo:mytag. Wenn dieses Repository auf Docker Hub hochgeladen wird, wird dem Namen des Repositorys der Docker Hub-Benutzername und ein Schrägstrich vorangestellt, zum Beispiel: amouat/myrepo:mytag. Wenn im Tag-Teil keine Parameter hinzugefügt werden, zum Beispiel: docker tag myrepo:1.0 myrepo, vergibt Docker automatisch das neueste Tag. Möglicherweise kennen Sie den oben genannten Inhalt bereits, aber tatsächlich enthält er nur diesen Inhalt und es ist nichts Magisches daran.
Nur weil das Bild-Tag „neueste“ lautet, heißt das nicht, dass es sich um das neueste Bild in der Ressourcenbibliothek handelt. Nur der Eigentümer dieser Ressourcenbibliothek stimmt zu, dass das Bild mit der neuesten Bezeichnung das neueste Bild sein muss. Ich kann zum Beispiel ganz einfach ein veraltetes Bild in ein Bild mit dem neuesten Tag umwandeln, zum Beispiel:
Das Bild mit dem neuesten Tag hier ist das gleiche wie das Bild der Version 0.9, die zwei Wochen alt ist, aber das Bild von 1.0 ist eine Minute her.
Warum diese Bezeichnung viele Menschen verwirrt, ist eigentlich leichter zu verstehen. „Einfach das neueste Bild abrufen“ bedeutet dieser Satz, das Bild mit dem neuesten Tag zu erhalten oder das neueste Bild zu erhalten? Sind diese beiden gleich? Sind es die neuesten Bilder im Repository? Handelt es sich um das Image der neuesten stabilen Version oder um das Image der neuesten Entwicklungsversion?
Was noch schlimmer ist, ist, dass viele Leute anscheinend denken, dass das neueste Label automatisch aktualisiert wird. Das heißt, wenn ich ein Image mit dem neuesten Label erhalte, prüft Docker vor jedem Start, ob es die neueste Version ist. Dies wird nie passieren und wie bei anderen Tags müssen Sie manuell entscheiden, ob Docker die neueste Version des Images erhält.
Die Verwirrung hört hier nicht auf. Was passiert, wenn ich per Docker ein Bild aus dem Repository ziehe, ohne ein Tag anzugeben? Wenn Sie glauben, dass alle Bilder abgerufen werden, liegen Sie falsch. Es wird nur das Bild mit dem neuesten Label abgerufen. Wenn Sie alle Bilder benötigen, müssen Sie das Flag -a hinzufügen. Was passiert, wenn Sie einen Pull-Vorgang für die Ressourcenbibliothek ohne das neueste Tag ausführen? Wie unten gezeigt:
$ docker pull amouat/myrepo Pulling repository amouat/myrepo 2015/01/21 12:04:06 Tag latest not found in repository amouat/myrepo
Unerwarteterweise gab Docker eine Fehlermeldung aus. Aber ich glaube nicht, dass Sie wissen, was los ist. Eines der ärgerlicheren Dinge ist, dass das neueste Tag andere Tags verbirgt. Angenommen, Sie möchten das Debian-Image mit dem neuesten Tag herunterladen. Um welche Version handelt es sich?
$ docker images debian REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE debian latest 4d6ce913b130 4 days ago 84.98 MB
Ähm, ich weiß es nicht. Tatsächlich handelt es sich um Version 7.8 Wheezy.
Ich denke, Docker sollte beim Herunterladen des Bildes alle Tags einfügen, aber ich weiß nicht, warum es das nicht tut. Was jetzt passiert, ist, dass Benutzer unterschiedliche Versionen desselben Bildes haben können, weil sie auf dem Server gekennzeichnet sind. Beispiel: Wenn sowohl Wheezy als auch Latest auf dem Hub aktualisiert werden und ich nur die aktualisierte Wheezy-Version Debian erhalte, ist mein Wheezy-Tag kleiner als die lokale Version des Latest-Tags, obwohl sie auf dem Hub unterschieden werden können .
Das Obige deckt nur den Großteil der Semantik von „latest“ und die häufigen Missverständnisse ab, die es verursacht. Wie kann diese Situation verbessert werden? Persönlich denke ich, dass das neueste Tag gelöscht und durch ein Wort ersetzt werden kann, das seiner wörtlichen Bedeutung näher kommt, beispielsweise „default“. Ich würde mir auch etwas Arbeit zur Verbesserung der Art und Weise, wie Tags erstellt werden, wünschen, wie zum Beispiel die gleichzeitige Aktualisierung aller Tags für ein Bild. Gleichzeitig empfehle ich Repository-Administratoren dringend, sich vor dem neuesten Tag in Acht zu nehmen und es vollständig aufzugeben.
Das obige ist der detaillierte Inhalt vonWelche Rolle spielt das neueste Tag in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

Viele Website -Entwickler stehen vor dem Problem der Integration von Node.js oder Python Services unter der Lampenarchitektur: Die vorhandene Lampe (Linux Apache MySQL PHP) Architekturwebsite benötigt ...

Verwenden Sie Python im Linux -Terminal ...

Konfigurieren Sie die Timing -Timing -Timing -Timing -Timing auf der MacOS -Plattform, wenn Sie die Timing -Timing -Timing -Timing von APScheduler als Service konfigurieren möchten, ähnlich wie bei NGIN ...

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.
