Cvičení – načtení existující image Dockeru a její místní nasazení

Dokončeno

Při sestavování a spouštění vlastních imagí Dockeru je vhodné začít využitím některé existující image z Docker Hubu a spustit ji místně v počítači.

Kvůli otestování tohoto konceptu u firemních aplikací se rozhodnete vyzkoušet ukázkovou image z Docker Hubu. Vybraný obrázek implementuje základní webovou aplikaci .NET Core ASP.NET. Jakmile zavedete proces pro nasazení image Dockeru, budete moci spustit jednu z vlastních firemních aplikací pomocí Dockeru.

V tomto cvičení stáhnete image z Docker Hubu a spustíte ji. Prozkoumáte místní stav Dockeru, což vám pomůže porozumět nasazovaným prvkům. Nakonec tento kontejner a image odeberete z počítače.

Důležité

Toto cvičení se provádí ve vašem počítači, nikoli v Azure. Abyste mohli pokračovat v tomto cvičení, potřebujete místní instalaci Dockeru. Stažení: https://hub.docker.com/editions/community/docker-ce-desktop-windows/

Stažení a spuštění ukázkové aplikace z Docker Hubu

  1. Spusťte Docker na počítači.

  2. Otevřete okno příkazového řádku v místním počítači.

  3. Zadáním následujícího kódu stáhněte image ukázkové aplikace ASP.NET z registru Docker Hubu. Tento obrázek obsahuje ukázkovou webovou aplikaci vyvinutou Microsoftem a je založená na výchozí ASP.NET šabloně dostupné v sadě Visual Studio.

    docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
    
  4. Zadáním následujícího kódu ověřte, že image byla uložena místně.

    docker image ls
    

    Měli byste vidět úložiště s názvem mcr.microsoft.com/dotnet/samples se značkou aspnetapp.

  5. Zadáním následujícího kódu spusťte ukázkovou aplikaci. Příznak -d je spustit jako pozadí, neinteraktivní aplikace. Příznak -p je namapovat port 8080 v kontejneru vytvořeném místně na port 8080. Toto nastavení je určené k tomu, aby nedocházelo ke konfliktům se všemi webovými aplikacemi, které už běží na vašem počítači. Tento příkaz odpoví dlouhým šestnáctkovým identifikátorem instance.

    docker run -d -p 8080:8080 mcr.microsoft.com/dotnet/samples:aspnetapp
    
  6. Otevřete webový prohlížeč a zadejte adresu URL ukázkové webové aplikace: http://localhost:8080. Měla by se zobrazit stránka, která vypadá jako na následujícím snímku obrazovky:

    Screenshot of the sample web app running in a browser.

Prozkoumání kontejneru v místním registru Dockeru

  1. Na příkazovém řádku spusťte následující příkaz, který zobrazí spuštěné kontejnery v místním registru.

    docker ps
    

    Výstup by měl vypadat zhruba takto:

    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
    

    Pole COMMAND zobrazuje kontejner spuštěný pomocí příkazu dotnet aspnetapp.dll. Tento příkaz volá modul runtime .NET Core pro spuštění kódu v souboru aspnetapp.dll (kód ukázkové webové aplikace). Pole PORTY označuje, že port 8080 na obrázku byl namapován na port 8080 ve vašem počítači. Pole STATUS udává, že tato aplikace pořád běží. Poznačte si název kontejneru v poli NAME.

  2. Spuštěním následujícího příkazu zastavte kontejner Dockeru a nahraďte zástupný text <NAME> názvem výstupu z předchozího příkazu.

    docker container stop <NAME>
    
  3. Spuštěním následujícího příkazu ověřte, že kontejner už není spuštěný. Příznak -a označuje, že příkaz zobrazuje stav všech kontejnerů, nejen kontejnerů, které jsou spuštěné. Výstup by měl zobrazit stav kontejneru jako Ukončeno.

    docker ps -a
    
  4. Ve webovém prohlížeči aktualizujte stránku ukázkové webové aplikace (http://localhost:8080/). Mělo by dojít k selhání s chybou informující o odmítnutém připojení.

Odebrání kontejneru a image z místního registru

  1. I když je kontejner zastavený, je pořád načtený a dá se znovu spustit. Spuštěním následujícího příkazu v okně příkazového řádku ho odeberte a nahraďte <NAME> zástupný text názvem kontejneru.

    docker container rm <NAME>
    
  2. Spuštěním následujícího příkazu ověřte, že byl kontejner odebrán. Příkaz by už tento kontejner neměl vypsat.

    docker ps -a
    
  3. Vypište image, které jsou aktuálně dostupné v počítači. Výstup by měl zobrazit úložiště ukázek.

    docker image ls
    
  4. Odeberte tuto image z registru.

    docker image rm mcr.microsoft.com/dotnet/samples:aspnetapp
    
  5. Výstup by měl obsahovat několik položek, které byly neoznačené a odstraněné. Spuštěním následujícího příkazu znovu zobrazte seznam imagí a ověřte, že image webové aplikace microsoft/dotnet-samples zmizela.

    docker image ls