Övning – Skicka en mikrotjänstbild till Docker Hub

Slutförd

För att Kubernetes ska kunna skapa en containeravbildning behöver den en plats där den kan hämtas. Docker Hub är en central plats för att ladda upp Docker-avbildningar. Många produkter, inklusive Kubernetes, kan skapa containrar baserat på avbildningar i Docker Hub.

Kommentar

Du kommer att slutföra den här övningen i ett GitHub Codespace som har Docker och .NET SDK förinstallerat. När du använder dessa tekniker i din egen utvecklingsmiljö kontrollerar du att du har dessa förutsättningar installerade.

Öppna utvecklingsmiljön

Du kan välja att använda ett GitHub-kodområde som är värd för övningen eller slutföra övningen lokalt i Visual Studio Code.

Om du vill använda ett kodområde skapar du ett förkonfigurerat GitHub Codespace med den här länken för att skapa Codespace.

Processen tar flera minuter medan GitHub skapar och konfigurerar kodområdet. När du är klar finns koden som används för resten av den här modulen i katalogen /dotnet-kubernetes .

Om du vill använda Visual Studio Code klonar du lagringsplatsen https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative till den lokala datorn. Sedan:

  1. Installera eventuella systemkrav för att köra Dev Container i Visual Studio Code.
  2. Kontrollera att Docker körs.
  3. I ett nytt Visual Studio Code-fönster öppnar du mappen för den klonade lagringsplatsen
  4. Tryck på Ctrl+Skift+P för att öppna kommandopaletten.
  5. Sök: >Dev Containers: Återskapa och öppna igen i container
  6. Välj eShopLite – dotnet-kubernetes i listrutan. Visual Studio Code skapar din utvecklingscontainer lokalt.

Verifiera Docker-avbildningarna genom att skapa containrar i kodområdet

Det finns två containrar i Contoso Shop-projektet. Innan vi skickar avbildningarna till Docker Hub ska vi använda dem för att skapa containrarna i kodområdet. När containrarna har skapats och körts kan vi bläddra på Contosos företagswebbplats och kontrollera att mikrotjänsterna körs OK.

Följ de här stegen för att skapa och köra Docker-containrar i kodområdet.

  1. Växla till fliken TERMINAL och kör följande kommando för att gå till kodroten:

    cd dotnet-kubernetes
    
  2. Kör följande kommando för att skapa containrarna:

    dotnet publish /p:PublishProfile=DefaultContainer
    

    Det kan ta ett tag att skapa containrarna.

  3. Kör följande kommando för att köra appen och bifoga containrarna:

    docker compose up
    
  4. Om du vill testa klientdelstjänsten växlar du till fliken PORTar och väljer sedan globeikonen till höger om den lokala adressen för Front End-porten . Webbläsaren visar startsidan.

  5. Välj produkter. Katalogen visar Contosos varor.

  6. Stäng webbplatsen, gå tillbaka till fliken TERMINAL och tryck sedan på CTRL + C. Docker compose stoppar containrarna.

Logga in på Docker Hub

Nästa steg i att ladda upp avbildningarna till Docker Hub är att logga in på Docker Hub. I kommandotolken anger du följande kommando:

docker login

Viktigt!

Använd samma användarnamn och lösenord från när du skapade ditt Docker-konto. Du kan gå till Docker Hub-webbplatsen för att återställa lösenordet om det behövs.

Ladda upp avbildningarna till Docker Hub

  1. Ange följande kod för att återtagla eller byta namn på De Docker-avbildningar som du skapade under ditt Docker-användarnamn.

    docker tag store [YOUR DOCKER USER NAME]/storeimage
    docker tag products [YOUR DOCKER USER NAME]/productservice
    
  2. Ladda sedan upp, eller push-överföra, Docker-avbildningarna till Docker Hub.

    docker push [YOUR DOCKER USER NAME]/storeimage
    docker push [YOUR DOCKER USER NAME]/productservice
    

    Om du får ett autentiseringsfel kan du köra docker logout följt av docker login för att autentisera igen.

I den här övningen använde du Dockerfiles och Docker Compose för att skapa två Docker-avbildningar och containrar och push-överförde avbildningarna till Docker Hub.

Nu är du redo att använda Kubernetes för att hantera Contosos distribution av mikrotjänster.