ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Django-Images in eine Registry pushen

In diesem Tutorial nehmen Sie ein Container-Image einer lokal erstellten Python-Django-App und stellen es in Azure Container Registry (ACR) oder Docker Hub bereit.

Eine Container-Registry erstellen

Erstellen Sie eine Container-Registry, in die Sie Images pushen können. Weitere Informationen zur Authentifizierung bei und zur Arbeit mit Registries finden Sie unter Verwendung von Container-Registries.

Stellen Sie sicher, dass der von Ihnen erstellte Registry-Endpunkt unter Registries im Container Explorer von VS Code sichtbar ist.

Container Explorer in VS Code showing registries

Einstellungen für Django-Apps

  1. Ändern Sie in der Datei settings.py Ihres Django-Projekts die Liste ALLOWED_HOSTS so, dass sie die Stamm-URL enthält, auf der Sie die App bereitstellen möchten. Der folgende Code geht beispielsweise davon aus, dass die Bereitstellung für einen Azure App Service (azurewebsites.net) mit dem Namen "vsdocs-django-sample-container" erfolgt.

    ALLOWED_HOSTS = [
        # Example host name only; customize to your specific host
        "vsdocs-django-sample-container.azurewebsites.net"
    ]
    

    Ohne diesen Eintrag wird nach der Bereitstellung eine Meldung "DisallowedHost" angezeigt, die Sie auffordert, die Website-Domäne zu ALLOWED_HOSTS hinzuzufügen. Dies erfordert, dass Sie das Image erneut erstellen, pushen und bereitstellen.

  2. Wählen Sie im Befehlsfenster (⇧⌘P (Windows, Linux Ctrl+Shift+P)) Container Images: Image erstellen... aus, um das Image mit neuen Einstellungen neu zu erstellen.

    Tipp: Wenn Sie Ihr Image in der Produktion auf mehreren Hosting-Diensten testen möchten, können Sie einfach "*" in ALLOWED_HOSTS eingeben.

Das Image in eine Registry pushen

Nachdem ALLOWED_HOSTS deklariert wurden, besteht der nächste Schritt darin, Ihr Django-Image in eine Container-Registry zu pushen.

  1. Öffnen Sie das Befehlsfenster (⇧⌘P (Windows, Linux Ctrl+Shift+P)) und wählen Sie Container Images: Pushen... aus.

  2. Wählen Sie das Image aus, das Sie gerade erstellt haben, um es in die Registry zu pushen.

  3. Wählen Sie die Registry aus, in die Sie pushen möchten. Dies hilft bei der korrekten Tagging des Images.

    Select a registry

  4. Sobald eine Registry und ein vollständiges Tag ausgewählt wurden, wird das Image gepusht. Der Upload-Fortschritt wird im Terminal-Fenster angezeigt.

  5. Nach Abschluss erweitern Sie den Knoten Registries > Azure (oder DockerHub) im Container Explorer und dann den Namen der Registry und des Images, um das genaue Image anzuzeigen. (Möglicherweise müssen Sie den Container Explorer aktualisieren.)

    The built app image in the Azure Container Registry

Tipp: Wenn Sie zum ersten Mal ein Image pushen, sehen Sie, dass VS Code jede Ebene hochlädt, aus der das Image besteht. Nachfolgende Push-Vorgänge aktualisieren jedoch nur Ebenen ab der ersten geänderten Ebene. Da Ihr Anwendungscode normalerweise am häufigsten geändert wird, wird er normalerweise in den letzten Zeilen einer Dockerfile kopiert. Um diesen inneren Kreis in Aktion zu sehen, nehmen Sie eine kleine Änderung an Ihrem Code vor, erstellen Sie das Image neu und pushen Sie es dann erneut in die Registry.

Nachdem Sie Ihr Image in eine Registry gepusht haben, sind Sie bereit, es auf jedem containerfähigen Cloud-Dienst bereitzustellen. Details zur Bereitstellung für Azure App Service finden Sie unter Bereitstellen eines Containers.

© . This site is unofficial and not affiliated with Microsoft.