GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Tutorial „Erste Schritte mit Azure Docker“.

In diesem ATA-Projekt erhalten Sie einen Einblick in die Funktionsweise von Docker in Azure. In diesem Azure Docker-Lernprogramm erfahren Sie mehr über den Dienst Azure Container Instance (ACI) von Microsoft.

Azure Container Instance ist ein gehosteter Kubernetes-Cluster über Azure Docker-Hosting. Sie können damit jedes Docker-Image (Windows und Linux) bereitstellen und als Container ausführen. Jeder Azure Docker-Container wird als eigenständiger Container ausgeführt und verwendet seine eigene zugewiesene CPU und seinen eigenen Arbeitsspeicher.

In diesem Projekt lernen Sie, wie Sie Ihre erste Azure-Containerinstanz basierend auf einem Beispiel-ASP.NET-Container-Image von Microsoft in der öffentlichen Azure-Cloud bereitstellen und ausführen.

Am Ende dieses Projekts verfügen Sie über eine ASP.NET-Website, die in einem Docker-Container ausgeführt wird, der vom Azure Container Instance-Dienst gehostet wird.

Umgebungs- und Wissensanforderungen

Um das Beste aus diesem Azure Docker-Tutorial herauszuholen, sollten Sie über Folgendes verfügen:

  1. Ein lokaler Windows 10-Client mit installiertem Docker Desktop.
  2. Ein Microsoft Azure-Konto
  3. Zugriff auf ein Azure-Konto mit Berechtigungen zum Bereitstellen eines Containers in Azure Container Registry
  4. Die Windows Azure CLI ist installiert. Sie lernen von der Befehlszeile aus.
  5. Ein Anfängerverständnis von Containern und Docker.
  6. Eine registrierte Docker-ID.

Wenn Ihnen das in diesem Azure Docker-Tutorial gewählte Beispiel nicht gefällt, können Sie jederzeit ein anderes Container-Image auf dem Docker-Hub verwenden.

Beginnen wir ohne weiteres mit dem Aufbau dieses Projekts!

Ausführen eines Docker-Containers

Um später Frustration zu vermeiden, wenn etwas nicht funktioniert, überprüfen Sie immer zuerst, ob die Docker Engine läuft. Öffnen Sie dazu eine Eingabeaufforderung oder eine PowerShell-Sitzung und führen Sie docker info aus .

Unten sehen Sie die Art der Ausgabe, die Sie erhalten sollten.

Um zu überprüfen, ob ein Docker-Container aufgerufen wird, führen Sie docker run hello-world aus . Hinter den Kulissen der docker Befehl führt einige Schritte aus:

  1. Sucht nach einem Container namens hello-word lokal auf Ihrem Windows 10-Computer.
  2. Wenn es nicht gefunden wird, wendet es sich an das öffentliche Docker-Hub-Repository, um nach der neuesten Version eines Containers mit dem Namen hello-world. zu suchen
  3. Wenn der Container gefunden wird, wird er aus dem Docker-Hub-Repository heruntergeladen.
  4. Nach dem Herunterladen wird der Container aufgerufen und führt die Startanweisungen aus, die in dem Image bereitgestellt werden, das der Container verwendet.

Unten sehen Sie einige Beispielausgaben.

Starten eines Beispiel-ASP.NET-Containers

Nachdem Sie nun wissen, wie Sie einen Docker-Container herunterladen und ausführen, laden Sie jetzt den Container herunter und führen Sie ihn aus, an dem Sie in diesem Projekt arbeiten werden. Dieser Docker-Container ist ein ASP.Net Core-Web-App-Image.

Führen Sie den folgenden Befehl aus, um das Bild dieses Azure Docker-Lernprogramms herunterzuladen:

> docker run --name aspnetcore_sample --rm -it -p 8000:80 mcr.microsoft.com/dotnet/core/samples:aspnetapp

Dieser Befehl macht Folgendes:

  1. Da das Docker-Image nicht lokal verfügbar ist, lädt Docker einen Container namens aspnetapp herunter von einer anderen öffentlichen Containerregistrierung, die von Microsoft unter mcr.microsoft.com gehostet wird in dotnet/core/samples Verzeichnis. Die Containerregistrierung mcr.microsoft.com ähnelt dem öffentlichen Docker-Hub wird jedoch von Microsoft verwaltet und hostet nur Microsoft-Container-Images.
  2. Führt den Container auf Ihrem lokalen Computer aus.
  3. (-p 8000:80) – Ordnet den lauschenden TCP-Port 80 auf dem Container dem TCP-Port 8000 zu. Dadurch können Sie lokal auf die Webanwendung über Port 8000 zugreifen.
  4. (-it) – Der Container wird interaktiv gestartet, was bedeutet, dass Sie beim Start sofort in die Konsole geleitet werden.
  5. (—rm ) – Wenn der Container gestoppt wird, wird er entfernt.

Sie können unten sehen, welche Ausgabe Sie erwarten können.

6. Stellen Sie in Ihrem Browser eine Verbindung zu dieser laufenden Containeranwendung her, indem Sie zu http://localhost:8000 navigieren . Sie sollten die ASP.Net-Beispielwebanwendung sehen

Erstellen einer Azure Container Registry (ACR)-Instanz

Nachdem Sie den ASP.NET-Container auf Ihren lokalen Computer heruntergeladen haben, ist es jetzt an der Zeit, ihn zum Azure Docker-Hosting mit ACI zu migrieren und diesen Container in Azure auszuführen. Dazu verschieben wir den Demo-Container per Push an Azure Container Registry (ACR). ACR ist ein Dienst, mit dem Sie Docker-Container direkt in Azure bereitstellen und ausführen können.

  1. Melden Sie sich beim Azure-Portal an.
  2. Klicken Sie oben auf das Terminalsymbol, um Azure Cloud Shell zu starten.

3. Stellen Sie sicher, dass Sie die Bash-Shell wie unten gezeigt auswählen.

4. Erstellen Sie mithilfe von az group create eine Azure-Ressourcengruppe, um eine Instanz von ACR einzufügen Befehl unten.

> az group create --name <RGname> --location <Azure Region of choice>

5. Erstellen Sie nun das ACR innerhalb der Ressourcengruppe mit az acr create Befehl. Unten sehen Sie ein Beispiel für die Erstellung eines ACR mit einer Basic-SKU unter Verwendung von admin-enabled Parameter auf true gesetzt . Dies wird auf true gesetzt weil es Ihnen ermöglicht, später Ressourcen zu verwalten.

> az acr create --resource-group <RGname> --name <ACRname> --sku Basic
 --admin-enabled true

Sobald Sie fertig sind, sollte jetzt eine ACR-Instanz in Ihrer Ressourcengruppe ausgeführt werden. Azure Docker-Hosting zur Rettung!

Lokales Verbinden mit der ACR-Instanz

Jetzt müssen Sie von der Azure Cloud Shell auf Ihren lokalen Windows-Computer wechseln, um die Einrichtung abzuschließen.

  1. Starten Sie auf Ihrem lokalen Computer PowerShell oder eine Eingabeaufforderung mit Administratorrechten. Ich werde PowerShell verwenden.
  2. Authentifizieren Sie sich bei Azure mit der Azure-Befehlszeilenschnittstelle, indem Sie az login ausführen und befolgen Sie die Anweisungen, um Ihre Anmeldedaten anzugeben.
  3. Nach erfolgreicher Authentifizierung sollten Sie eine JSON-Ausgabe sehen, die den Benutzer angibt, mit dem Sie sich gerade authentifiziert haben.

4. Authentifizieren Sie sich als Nächstes bei der ACR-Instanz, die Sie gerade in Azure Cloud Shell erstellt haben, indem Sie as acr login verwenden Befehl mit dem folgenden Befehl. Unten sehen Sie, dass ich mich mit einer ACR-Instanz namens nopacr1 verbinde , in der Azure-Ressourcengruppe NOPRG .

> az acr login --name <ACR-Name> --resource-group <RG Name>

Aktualisieren des Docker-Image-Tags

Sie können Ihr lokales Docker-Image jetzt per Push auf Ihre ACR-Instanz in Azure Docker-Hosting oder ACI übertragen. Aber Sie müssen zuerst eine ACR-Abhängigkeit erfüllen. Alle Docker-Images, die an die ACR-Instanz übertragen werden, müssen den Namen der ACR-Instanz im Image-Namen enthalten.

  1. Suchen Sie die Docker-Image-ID-Nummer oder den Image-Namen mit dem Befehl docker images .

2. Aktualisieren Sie das Docker-Image-Tag für das Docker-Image, indem Sie das docker tag ausführen Befehl wie unten gezeigt. Wenn Sie der Namenskonvention folgen, verwenden Sie den ACR-Namen NOPACR1 und definieren Sie das Tag als nopacr1.azurecr.io. Verwenden Sie für das Bild selbst den Namen dotnetsample .

> docker tag mcr.microsoft.com/dotnet/core/samples:aspnetapp <ACRName>.azurecr.io/<imagenameofchoice>

3. Überprüfen Sie, ob das Tag mithilfe der docker images angewendet wurde erneut befehlen. Sie sollten jetzt sehen, dass das Tag aktualisiert wurde.

Hochladen des Docker-Images auf die ACR-Instanz und Verifizierung

  1. Laden Sie nun das lokale Image mithilfe von docker push in die ACR-Instanz hoch Befehl wie unten gezeigt, der die DNS-Namensbezeichnung bereitstellt, in der sich die ACR-Instanz befindet.
> docker push <ACRName>.azurecr.io/<nameofimage>

2. Überprüfen Sie nach dem Hochladen, ob der Push an die ACR-Instanz problemlos funktioniert hat, indem Sie das Azure-Portal verwenden, indem Sie zu Alle Dienste navigieren —> Azure Container-Registrierungen und die zuvor erstellte ACR-Instanz auswählen.

3. Im Blade-Menü links unter Dienste Klicken Sie im Abschnitt auf Repositories . Das Docker-Image, das gerade in Ihre ACR-Instanz gepusht wurde, sollte hier angezeigt werden.

4. Klicken Sie auf das Bild und Sie sehen seine Version und einige andere nützliche Informationen.

Ausführen der Azure Container Instance (ACI)

Sie haben jetzt eine ACR-Instanz erstellt, ein Docker-Container-Image mit dem ACR-Namen als Referenz gekennzeichnet und das Image an die ACR-Instanz gepusht. Jetzt ist es an der Zeit, Azure Container Instance (ACI) zu verwenden, um das in Ihrer ACR-Instanz gespeicherte Docker-Image auszuführen.

  1. Fahren Sie mit dem vorherigen Schritt fort und klicken Sie auf … neben neueste und wählen Sie Instanz ausführen aus . Dadurch wird Containerinstanz erstellen geöffnet Klinge.

2. Füllen Sie die Felder in Containerinstanz erstellen aus Feld unten mit den folgenden Informationen:

  • Containername – einen beliebigen Namen, den Sie für diesen laufenden Container verwenden möchten
  • Betriebssystemtyp – Linux (Dies hängt vom Quellcontainer ab. Wenn Sie denselben Container in diesem Projekt verwenden, kann dies Windows sein.)
  • Abonnement – Ihr Azure-Abonnement
  • Ressourcengruppe – jede vorhandene oder neue Azure-Ressourcengruppe, der die Containerinstanz hinzugefügt werden soll
  • Standort – basierend auf der Ressourcengruppe

Für diesen ASP.NET-Container im Azure Docker-Tutorial können Sie alle anderen Einstellungen unverändert lassen. In einer Produktionsumgebung müssen Sie diese Einstellungen möglicherweise ändern, je nachdem, was der Container ausführt.

3. Drücken Sie OK um die Containerinstanz zu erstellen.
4. Sobald die Containerinstanz bereitgestellt wurde, sollten Sie eine Seite sehen, die wie im Beispiel unten aussieht.

5. Sobald die Bereitstellung abgeschlossen ist, öffnen Sie die ACI im Portal, indem Sie zu Alle Dienste navigieren —> Container-Instanzen . Navigieren Sie hier zu der soeben erstellten Azure Container Instance (ACI). Sie sollten die unten gezeigte Instanz sehen.

6. Kopieren Sie die IP-Adresse in der oberen rechten Ecke und fügen Sie sie in einen Webbrowser ein. Ihre Beispiel-ASP.NET-Web-App sollte von Ihrer Azure Container Instance (ACI) geladen werden und eine Webseite wie unten gezeigt anzeigen.

Wenn Sie mit diesem Container fertig sind, können Sie den az container delete verwenden Befehl zum Entfernen des Containers.

Fazit

Dieses Tutorial zu Azure Docker sollte Ihnen ein grundlegendes Verständnis von ACI und der Speicherung von Docker-Images in Azure vermittelt haben.


Docker
  1. Erste Schritte mit GnuCash

  2. Erste Schritte mit Zsh

  3. Installieren Sie ModSecurity mit Apache in einem Docker-Container

  4. Erste Schritte mit ls

  5. Erste Schritte mit PostgreSQL unter Linux

Podman-Tutorial – Erste Schritte mit Podman

Erste Schritte mit Docker Compose unter Linux

Erste Schritte mit systemctl

Erste Schritte mit cPanel

Gewusst wie:Erste Schritte mit Windows-Containern und Docker

Erste Schritte mit .NET Core und Docker und der Microsoft Container Registry