Gyakorlat – Meglévő Docker-lemezkép lekérése és helyi üzembe helyezése

Befejeződött

A Docker-lemezképek létrehozásához és futtatásához jó kiindulási pont, ha lekér egy meglévő lemezképet a Docker Hubról, és helyileg futtatja azt a számítógépen.

A vállalat alkalmazásainak megvalósíthatósági vizsgálata érdekében úgy dönt, hogy egy mintalemezképet fog futtatni a Docker Hubról. A kiválasztott rendszerkép egy alapszintű .NET Core-ASP.NET webalkalmazást implementál. Miután megállapította a Docker-lemezképek üzembe helyezésének folyamatát, a Docker használatával futtathatja a vállalat egyik saját webalkalmazását.

Ebben a gyakorlatban a Docker Hubról fog lekérni egy lemezképet, majd futtatja azt. Ezt követően megvizsgálja a Docker helyi állapotát, hogy képet kaphasson az üzembe helyezett elemekről. Végezetül eltávolítja a tárolót és a lemezképet a számítógépről.

Fontos

Ezt a gyakorlatot a saját számítógépén fogja elvégezni, nem az Azure-ban. A gyakorlat elvégzéséhez szükség lesz a Docker helyileg telepített példányára. Letöltés: https://hub.docker.com/editions/community/docker-ce-desktop-windows/

Mintaalkalmazás lekérése és futtatása a Docker Hubról

  1. Indítsa el a Dockert a számítógépen.

  2. Nyisson meg egy parancssori ablakot a helyi számítógépen.

  3. Írja be a következő kódot a ASP.NET mintaalkalmazás lemezképének lekéréséhez a Docker Hub beállításjegyzékéből. Ez a kép egy Microsoft által kifejlesztett minta webalkalmazást tartalmaz, amely a Visual Studióban elérhető alapértelmezett ASP.NET sablonon alapul.

    docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
    
  4. Adja meg a következő kódot annak ellenőrzéséhez, hogy a rendszerkép helyileg lett-e tárolva.

    docker image ls
    

    Látnia kell egy mcr.microsoft.com/dotnet/samples nevű adattárat az aspnetapp címkéjével.

  5. Adja meg a következő kódot a mintaalkalmazás elindításához. A -d jelző azt jelzi, hogy háttérként, nem interaktív alkalmazásként futtassa. A -p jelölő a 8080-at a helyileg létrehozott tároló 8080-nak felelteti meg. Ezzel a beállítással elkerülhetők a számítógépen már futó webalkalmazásokkal való ütközések. A parancs a példány hosszú, hexadecimális azonosítóját adja válaszul.

    docker run -d -p 8080:8080 mcr.microsoft.com/dotnet/samples:aspnetapp
    
  6. Nyisson meg egy webböngészőt, és adja meg a minta webalkalmazás URL-címét: http://localhost:8080. Az alábbi képernyőképhez hasonló lapnak kell megjelennie:

    Screenshot of the sample web app running in a browser.

A Docker helyi regisztrációs adatbázisában lévő tároló vizsgálata

  1. A parancssorban futtassa a következő parancsot a helyi beállításjegyzékben futó tárolók megtekintéséhez.

    docker ps
    

    A kimenetnek a következőképpen kell kinéznie:

    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
    

    A COMMAND mezőben a dotnet aspnetapp.dll parancs futtatásával elindított tároló jelenik meg. Ez a parancs a .NET Core futtatókörnyezetet hívja meg az aspnetapp.dll-ben szereplő kód (ez a minta-webalkalmazás kódja) futtatásához. A PORTS mező azt jelzi, hogy a rendszerkép 8080-ai portja a számítógépen a 8080-ra van leképezve. A STATUS mező azt mutatja, hogy az alkalmazás még mindig fut. Jegyezze fel a tároló NAME értékét.

  2. Futtassa a következő parancsot a Docker-tároló leállításához, és cserélje le a helyőrzőt <NAME> az előző parancs kimeneti nevére.

    docker container stop <NAME>
    
  3. Futtassa a következő parancsot annak ellenőrzéséhez, hogy a tároló már nem fut-e. A -a jelző azt jelzi, hogy a parancs az összes tároló állapotát jeleníti meg, nem csak a futó tárolókat. A kimenetnek ki kell mutatnia a tároló állapotát kilépésként.

    docker ps -a
    
  4. A webböngészőben frissítse a minta webalkalmazás lapját (http://localhost:8080/). A műveletnek a Kapcsolat elutasítva hibával kell meghiúsulnia.

A tároló és a lemezkép eltávolítása a helyi regisztrációs adatbázisból

  1. A tároló ugyan már le lett állítva, azért továbbra is be van töltve, és újraindítható. Az eltávolításhoz futtassa a következő parancsot a parancssori ablakban, és cserélje le <NAME> a helyőrzőt a tároló nevére.

    docker container rm <NAME>
    
  2. A következő parancs futtatásával ellenőrizze, hogy a tároló el lett-e távolítva. Ha sikerült, a parancs már nem jeleníti meg a tárolót.

    docker ps -a
    
  3. Jelenítse meg a számítógépen jelenleg elérhető lemezképek listáját. A kimenetnek meg kell jelenítenie a mintaadattárat.

    docker image ls
    
  4. Távolítsa el a lemezképet a regisztrációs adatbázisból.

    docker image rm mcr.microsoft.com/dotnet/samples:aspnetapp
    
  5. A kimenetnek számos olyan elemet kell felsorolnia, amely nincs megjelölve és törölve. Futtassa az alábbi parancsot a képek ismételt listázásához, és ellenőrizze, hogy a microsoft/dotnet-samples webalkalmazás képe eltűnt-e.

    docker image ls