Oefening: Een bestaande Docker-installatiekopie ophalen en deze lokaal implementeren

Voltooid

Een goed uitgangspunt voor het bouwen en uitvoeren van uw eigen Docker-installatiekopieën is om een bestaande installatiekopie uit Docker Hub te nemen en deze lokaal uit te voeren op uw computer.

U besluit om de toepassingen van uw bedrijf te testen door een voorbeeldinstallatiekopie uit Docker Hub uit te voeren. Met de installatiekopieën die u hebt geselecteerd, wordt een eenvoudige .NET Core-ASP.NET-web-app geïmplementeerd. Zodra u een proces voor het implementeren van een Docker-installatiekopie hebt opgesteld, kunt u een van de web-apps van het bedrijf met behulp van Docker uitvoeren.

In deze oefening gaat u een installatiekopie ophalen uit Docker Hub en deze uitvoeren. U controleert de lokale status van Docker om meer te weten te komen over de elementen die worden geïmplementeerd. En ten slotte verwijdert u de container en de installatiekopie van uw computer.

Belangrijk

Deze oefening wordt op uw computer uitgevoerd, niet in Azure. U hebt een lokale installatie van Docker nodig om door te kunnen gaan met de oefening. Downloaden: https://hub.docker.com/editions/community/docker-ce-desktop-windows/

Een voorbeeldtoepassing vanuit Docker Hub ophalen en uitvoeren

  1. Start Docker op uw computer.

  2. Open een opdrachtpromptvenster op de lokale computer.

  3. Voer de volgende code in om de ASP.NET voorbeeld-app-installatiekopie op te halen uit het Docker Hub-register. Deze afbeelding bevat een voorbeeldweb-app die is ontwikkeld door Microsoft en is gebaseerd op de standaardsjabloon ASP.NET die beschikbaar is in Visual Studio.

    docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
    
  4. Voer de volgende code in om te controleren of de installatiekopieën lokaal zijn opgeslagen.

    docker image ls
    

    U ziet nu een opslagplaats met de naam mcr.microsoft.com/dotnet/samples met een tag van aspnetapp.

  5. Voer de volgende code in om de voorbeeld-app te starten. De vlag -d is om deze uit te voeren als achtergrond, niet-interactieve app. De vlag -p is om poort 8080 toe te wijzen in de container die lokaal is gemaakt op poort 8080. Deze instelling is bedoeld om conflicten te voorkomen met web-apps die al op uw computer worden uitgevoerd. Met de opdracht wordt een lange uit hexadecimale cijfers bestaande id voor de instantie geretourneerd.

    docker run -d -p 8080:8080 mcr.microsoft.com/dotnet/samples:aspnetapp
    
  6. Open een webbrowser en voer de URL in voor de voorbeeldweb-app: http://localhost:8080. U ziet nu een pagina die eruitziet als de volgende schermopname:

    Screenshot of the sample web app running in a browser.

De container in het lokale Docker-register controleren

  1. Voer bij de opdrachtprompt de volgende opdracht uit om de actieve containers in het lokale register weer te geven.

    docker ps
    

    De uitvoer moet er als volgt uitzien:

    CONTAINER ID   IMAGE                                             COMMAND                  CREATED          STATUS          PORTS                  NAMES
    96c851831ade   mcr.microsoft.com/dotnet/samples:aspnetapp   "dotnet aspnetapp.dll"   22 minutes ago   Up 22 minutes   0.0.0.0:8080->80/tcp   eager_montalcini
    

    In het veld OPDRACHT ziet u de container die is gestart met de opdracht dotnet aspnetapp.dll. Met deze opdracht wordt de .NET Core-runtime aangeroepen om de code in de aspnetapp.dll (de code voor de voorbeeld-web-app) te starten. Het veld POORTEN geeft aan dat poort 8080 in de installatiekopieën is toegewezen aan poort 8080 op uw computer. In het veld STATUS ziet u dat de toepassing nog steeds wordt uitgevoerd. Maak een notitie van de NAAM van de container.

  2. Voer de volgende opdracht uit om de Docker-container te stoppen, waarbij u de tijdelijke aanduiding <NAME> vervangt door de uitvoernaam van de vorige opdracht.

    docker container stop <NAME>
    
  3. Voer de volgende opdracht uit om te controleren of de container niet meer wordt uitgevoerd. De vlag -a geeft aan dat de opdracht de status van alle containers weergeeft, niet alleen de containers die worden uitgevoerd. In de uitvoer moet de STATUS van de container worden weergegeven als Afgesloten.

    docker ps -a
    
  4. Vernieuw de pagina voor de voorbeeldweb-app in uw webbrowser (http://localhost:8080/). Dat zal niet gaan en er wordt een foutbericht Verbinding geweigerd weergegeven.

De container en de installatiekopie uit het lokale register verwijderen

  1. Hoewel de container is beëindigd, is deze nog steeds geladen en kan deze opnieuw worden gestart. Voer de volgende opdracht uit in het opdrachtpromptvenster om deze te verwijderen, waarbij u de tijdelijke aanduiding vervangt door <NAME> de naam van uw container.

    docker container rm <NAME>
    
  2. Controleer of de container is verwijderd door de volgende opdracht uit te voeren. De opdracht laat nu zien dat de container er niet meer is.

    docker ps -a
    
  3. Geef de lijst weer van installatiekopieën die momenteel beschikbaar zijn op uw computer. In de uitvoer moet de opslagplaats met voorbeelden worden weergegeven.

    docker image ls
    
  4. Verwijder de installatiekopie uit het register.

    docker image rm mcr.microsoft.com/dotnet/samples:aspnetapp
    
  5. In de uitvoer moeten talloze items zijn gemarkeerd en verwijderd. Voer de volgende opdracht uit om de afbeeldingen opnieuw weer te geven en controleer of de afbeelding voor de web-app microsoft/dotnet-samples is verdwenen.

    docker image ls