Cvičení – načtení existující image Dockeru a její místní nasazení
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.
Jako důkaz konceptu pro aplikace společnosti se rozhodnete vyzkoušet spuštění ukázkové 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://docs.docker.com/desktop/install/windows-install/
Stažení a spuštění ukázkové aplikace z Docker Hubu
Spusťte Docker na počítači.
Otevřete okno příkazového řádku v místním počítači.
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
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.
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
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:
Prozkoumání kontejneru v místním registru Dockeru
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.
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>
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
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
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>
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
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
Odeberte tuto image z registru.
docker image rm mcr.microsoft.com/dotnet/samples:aspnetapp
Výstup by měl obsahovat množství 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