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 vytvoříte proces nasazení image Dockeru, můžete spustit jednu z vlastních firemních webových aplikací pomocí Dockeru.
V tomto cvičení načtete image z Docker Hubu a spustíte ji. Prozkoumáte místní stav Dockeru, abyste pochopili nasazené prvky. Nakonec z počítače odeberete kontejner a image.
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:aspnetappZadáním následujícího kódu ověřte, že image byla uložena místně.
docker image lsMě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
-dslouží pro spuštění jako aplikace běžící na pozadí a neinteraktivní. Příznakempje namapování portu 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. Příkaz odpoví dlouhým šestnáctkovým identifikátorem instance.docker run -d -p 8080:8080 mcr.microsoft.com/dotnet/samples:aspnetappOtevřete webový prohlížeč a přejděte na 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 psVýstup by měl vypadat zhruba jako v tomto příkladu:
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_montalciniPole COMMAND zobrazuje kontejner spuštěný spuštěním 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 80 na vašem počítači. Pole STATUS zobrazuje, že aplikace je stále spuštěná. Poznamenejte si název kontejneru.
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 -aVe webovém prohlížeči aktualizujte stránku ukázkové webové aplikace (http://localhost:8080/). Mělo by selhat s chybou Odmítnuté 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 -aVypište image, které jsou aktuálně dostupné v počítači. Výstup by měl zobrazit úložiště ukázek.
docker image lsOdeberte tuto image z registru.
docker image rm mcr.microsoft.com/dotnet/samples:aspnetappVýstup by měl obsahovat množství položek, které nebyly označeny a odstraněny. 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