Docker erstellt ein auf mehreren Plattformen laufendes Image und verschiebt es an das Remote-Image-Warehouse

Inhaltsverzeichnis

Methode eins

Führen Sie die folgenden Schritte aus, um ein Docker-Image zu erstellen, das auf mehreren Plattformen ausgeführt wird, und es in ein Remote-Image-Repository zu übertragen:

  1. Schreiben Sie eine Docker-Datei, um die Build-Regeln und erforderlichen Abhängigkeiten des Images zu definieren.

  2. Verwenden Sie den Docker-Befehl buildx, um eine Builder-Instanz zu erstellen, die Images für mehrere Plattformen erstellen kann:

    docker buildx create --name mybuilder
    docker buildx use mybuilder
    
  3. Legen Sie mehrere Plattformen fest, die von einer Builder-Instanz unterstützt werden:

    docker buildx inspect --bootstrap
    docker buildx inspect --platforms linux/amd64,linux/arm64,linux/arm/v7
    
  4. Verwenden Sie den Docker-Befehl buildx, um das Image zu erstellen und es in das Remote-Image-Repository zu übertragen:

    docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t myrepo/myimage:latest --push .
    

Unter diesen --platformgibt der Parameter die zu erstellende Plattformliste an, und -tder Parameter gibt den Namen und die Bezeichnung des Bildes an, .was darauf hinweist, dass das aktuelle Verzeichnis das Verzeichnis ist, in dem sich die Docker-Datei befindet.

tip:Die oben genannten Schritte können über die Befehlszeile ausgeführt oder als Skript zur wiederholten Verwendung geschrieben werden.

Methode 2

In älteren Versionen von Docker können Sie mithilfe der folgenden Schritte eine Builder-Instanz zur Unterstützung mehrerer Plattformen einrichten:

  1. Erstellen Sie eine Builder-Instanz:

    docker buildx create --name mybuilder
    docker buildx use mybuilder
    
  2. Fügen Sie der Builder-Instanz unterstützte Plattformen hinzu:

    docker buildx inspect --bootstrap
    docker buildx append --platform linux/amd64,linux/arm64,linux/arm/v7 mybuilder
    
  3. Anschließend können Sie mit docker buildx builddem Befehl ein Multiplattform-Image erstellen und es in das Remote-Repository übertragen.

    docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t myrepo/myimage:latest --push .
    

Bitte beachten Sie, dass es zu anderen Problemen kommen kann, wenn Ihre Docker-Version zu alt ist. Es wird daher empfohlen, ein Upgrade auf die neueste Docker-Version durchzuführen.

Guess you like

Origin blog.csdn.net/zhoqua697/article/details/131422430