Rychlý start: Docker v Visual Studio

S Visual Studio můžete snadno sestavovat, ladit a spouštět kontejnerizované aplikace ASP.NET Core a publikovat je do Azure Container Registry, Docker Hub, Azure App Service nebo vlastního registru kontejneru. V tomto článku budeme publikovat do Azure Container Registry.

Požadavky

Instalace a nastavení

V případě instalace Dockeru si nejprve projděte informace v docker Desktopu pro Windows: Copotřebujete vědět před instalací nástroje . Dále nainstalujte Docker Desktop.

Přidání projektu do kontejneru Dockeru

  1. V nabídce Visual Studio vyberte Soubor a > Nový > Project.

  2. V části Šablony dialogového okna Nový Project vyberte Visual C# > Web.

  3. Vyberte ASP.NET Core Web Application (Webová aplikace), nebo pokud chcete použít .NET Framework místo .NET Core, vyberte ASP.NET Web Application (Webová aplikace).

  4. Zadejte název nové aplikace (nebo vezměte výchozí nastavení) a vyberte OK.

  5. Vyberte Web Application (Webová aplikace).

  6. Zaškrtněte políčko Povolit podporu Dockeru.

    Snímek obrazovky se zaškrtávacím políčkam Povolit podporu Dockeru

    Snímek obrazovky ukazuje .NET Core. Pokud používáte jiný .NET Framework, vypadá trochu jinak.

  7. Vyberte typ kontejneru, který chcete (Windows nebo Linux) a klikněte na OK.

Přehled souboru Dockerfile

V projektu se vytvoří soubor Dockerfile, recept na vytvoření konečné image Dockeru. Informace o příkazech v souboru Dockerfile najdete v referenčních informacích:

FROM mcr.microsoft.com/dotnet/aspnet:2.1 AS base
WORKDIR /app
EXPOSE 59518
EXPOSE 44364

FROM mcr.microsoft.com/dotnet/sdk:2.1 AS build
WORKDIR /src
COPY HelloDockerTools/HelloDockerTools.csproj HelloDockerTools/
RUN dotnet restore HelloDockerTools/HelloDockerTools.csproj
COPY . .
WORKDIR /src/HelloDockerTools
RUN dotnet build HelloDockerTools.csproj -c Release -o /app

FROM build AS publish
RUN dotnet publish HelloDockerTools.csproj -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "HelloDockerTools.dll"]

Předchozí soubor Dockerfile vychází z image microsoft/aspnetcore a obsahuje pokyny pro úpravu základní image sestavením projektu a jeho přidáním do kontejneru. Pokud používáte základní image .NET Framework, základní image se bude lišit.

Když je zaškrtnuté políčko Konfigurovat pro HTTPS v dialogovém okně nového projektu, soubor Dockerfile zpřístupní dva porty. Jeden port se používá pro provoz HTTP. Druhý port se používá pro PROTOKOL HTTPS. Pokud políčko není zaškrtnuté, pro provoz HTTP se zobrazí jeden port (80).

Ladění

V rozevíracím seznamu ladění na panelu nástrojů vyberte Docker a spusťte ladění aplikace. Může se zobrazit zpráva s výzvou o důvěřování certifikátu. Zvolte, že chcete certifikátu důvěřovat, aby pokračoval.

V okně Výstup se zobrazí akce, které prochádí.

Otevřete konzolu Správce balíčků (PMC) z nabídky Nástroje> NuGet Správce balíčků a Správce balíčků konzoly.

Výsledná image Dockeru aplikace je označená jako dev. Image je založená na značce 2.1-aspnetcore-runtime základní image microsoft/dotnet. V docker images okně konzoly Správce balíčků (PMC) spusťte příkaz . Zobrazí se obrázky na počítači:

REPOSITORY        TAG                     IMAGE ID      CREATED         SIZE
hellodockertools  dev                     d72ce0f1dfe7  30 seconds ago  255MB
microsoft/dotnet  2.1-aspnetcore-runtime  fcc3887985bb  6 days ago      255MB

Poznámka

Vývojová image neobsahuje binární soubory aplikace a další obsah, protože konfigurace ladění používají připojení svazku k zajištění iterativního prostředí pro úpravy a ladění. Pokud chcete vytvořit produkční image obsahující veškerý obsah, použijte konfiguraci Vydání.

Spusťte příkaz docker ps v PMC. Všimněte si, že aplikace je spuštěná pomocí kontejneru:

CONTAINER ID        IMAGE                  COMMAND                   CREATED             STATUS              PORTS                   NAMES
baf9a678c88d        hellodockertools:dev   "C:\\remote_debugge..."   21 seconds ago      Up 19 seconds       0.0.0.0:37630->80/tcp   dockercompose4642749010770307127_hellodockertools_1

Publikování imagí Dockeru

Po dokončení cyklu vývoje a ladění aplikace můžete vytvořit produkční image aplikace.

  1. Změňte rozevírací seznam konfigurace na Release (Verze) a sestavte aplikaci.

  2. Klikněte pravým tlačítkem na projekt v Průzkumník řešení a zvolte Publikovat.

  3. V dialogovém okně cíl publikování vyberte kartu Container Registry publikování.

  4. Zvolte Vytvořit nový Azure Container Registry a klikněte na Publikovat.

  5. Zadejte požadované hodnoty do pole Create a new Azure Container Registry.

    Nastavení Navrhovaná hodnota Popis
    Předpona DNS Globálně jedinečný název Název, který jedinečně identifikuje váš registr kontejneru.
    Předplatné Zvolte vaše předplatné. Předplatné Azure, které se má použít.
    Skupina prostředků myResourceGroup Název skupiny prostředků, ve které chcete vytvořit registr kontejneru. Pokud chcete vytvořit novou skupinu prostředků, zvolte Nová.
    SKU Standard Úroveň služby registru kontejneru
    Umístění registru Umístění blízko vás Zvolte Umístění v oblasti blízko vás nebo v blízkosti jiných služeb, které budou používat váš registr kontejneru.

    Snímek Visual Studio dialogového okna Azure Container Registry obrazovky

  6. Klikněte na Vytvořit.

Další kroky

Kontejner teď můžete stáhnout z registru na libovolného hostitele, který dokáže spustit image Dockeru, například Azure Container Instances.

pomocí Visual Studio můžete snadno sestavovat, ladit a spouštět aplikace v kontejneru .net, ASP.NET a ASP.NET Core a publikovat je do Azure Container Registry, docker Hub, Azure App Service nebo vlastního registru kontejneru. v tomto článku publikujeme aplikaci ASP.NET Core pro Azure Container Registry.

Požadavky

Instalace a nastavení

pro instalaci docker si nejdřív přečtěte informace v části docker Desktop, kde Windows: co potřebujete znát před instalacínástroje. Dále nainstalujte Docker Desktop.

Přidání projektu do kontejneru Docker

  1. vytvořte nový projekt pomocí šablony ASP.NET Core webové aplikace , nebo pokud chcete použít .NET Framework místo .net Core, vyberte ASP.NET webová aplikace (.NET Framework).

  2. Na obrazovce vytvořit novou webovou aplikaci se ujistěte, že je zaškrtnuté políčko Povolit podporu Docker .

    Snímek obrazovky se zaškrtávacím políčkem Povolit podporu Docker.

    Snímek obrazovky ukazuje .NET Core; pokud používáte .NET Framework, vypadá to trochu odlišně.

  3. vyberte typ požadovaného kontejneru (Windows nebo Linux) a klikněte na vytvořit.

Souboru Dockerfile – přehled

Souboru Dockerfile je v projektu vytvořen recept pro vytvoření finální image Docker. Porozumění příkazům, které jsou v něm, najdete v referenčních informacích k souboru Dockerfile :

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /src
COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
RUN dotnet restore "WebApplication1/WebApplication1.csproj"
COPY . .
WORKDIR "/src/WebApplication1"
RUN dotnet build "WebApplication1.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]

Předchozí souboru Dockerfile vychází z image Microsoft/aspnetcore a obsahuje pokyny pro úpravu základní image sestavením projektu a jeho přidáním do kontejneru. pokud používáte .NET Framework, bude základní image odlišná.

Když je zaškrtnuté políčko Konfigurovat pro protokol HTTPS v dialogovém okně Nový projekt, souboru Dockerfile zpřístupňuje dva porty. Pro přenosy HTTP se používá jeden port; druhý port se používá pro protokol HTTPS. Pokud políčko není zaškrtnuté, bude pro přenosy HTTP vystaven jeden port (80).

Ladění

V rozevíracím seznamu ladění na panelu nástrojů vyberte Docker a spusťte ladění aplikace. Může se zobrazit zpráva s výzvou k důvěřování certifikátu. Chcete-li pokračovat, vyberte možnost důvěryhodného certifikátu.

V okně výstup se zobrazí možnost nástroje kontejneru , kde se zobrazují akce, které probíhají. Poprvé může chvíli trvat, než se stáhne základní image, ale v dalších spuštěních je mnohem rychlejší.

Poznámka

Pokud potřebujete změnit porty pro ladění, můžete to udělat v souboru launchSettings. JSON . viz Nastavení spuštění kontejneru.

Okno kontejnery

pokud máte Visual Studio 2019 verze 16,4 nebo novější, můžete použít okno kontejnery k zobrazení spuštěných kontejnerů na vašem počítači a také imagí, které máte k dispozici.

Otevřete okno kontejnery pomocí vyhledávacího pole v integrovaném vývojovém prostředí (pokud ho chcete použít, stiskněte klávesu CTRL + Q ), zadejte container a zvolte okno kontejnery ze seznamu.

Okno kontejnery můžete připojit na vhodné místo, například pod editorem, přesunutím kolem a podle vodítek umístění okna.

V okně Najděte svůj kontejner a krok na každé kartě, abyste zobrazili proměnné prostředí, mapování portů, protokoly a systém souborů.

Snímek okna kontejnerů

Další informace najdete v tématu použití okna kontejnery.

Publikování imagí Docker

Jakmile se cyklus vývoje a ladění aplikace dokončí, můžete vytvořit provozní image aplikace.

  1. Změňte rozevírací seznam konfigurace na vydaná a sestavte aplikaci.

  2. V Průzkumník řešení klikněte pravým tlačítkem na projekt a vyberte publikovat.

  3. V dialogovém okně publikovat vyberte kartu Docker Container Registry .

    Snímek obrazovky dialogového okna pro publikování – vyberte Docker Container Registry.

  4. Vyberte vytvořit novou Azure Container Registry.

    Snímek obrazovky dialogového okna pro publikování – vyberte vytvořit novou Azure Container Registry.

  5. Do pole vytvořit nový Azure Container Registry zadejte požadované hodnoty.

    Nastavení Navrhovaná hodnota Popis
    Předpona DNS Globálně jedinečný název Název, který jedinečně identifikuje váš registr kontejneru.
    Předplatné Zvolte vaše předplatné. Předplatné Azure, které se má použít.
    Skupina prostředků myResourceGroup Název skupiny prostředků, ve které se má vytvořit registr kontejneru Pokud chcete vytvořit novou skupinu prostředků, zvolte Nová.
    SKU Standard Úroveň služby registru kontejneru
    Umístění registru Umístění, které je blízko vás Vyberte umístění v oblasti poblíž nebo v blízkosti jiných služeb, které budou používat váš registr kontejneru.

    snímek obrazovky dialogového okna pro vytvoření Azure Container Registry Visual Studio

  6. Klikněte na Vytvořit. Dialog publikovat teď zobrazuje vytvořený registr.

    Snímek obrazovky s dialogem pro publikování zobrazující Azure Container Registry vytvořena

  7. Pokud chcete dokončit proces publikování image kontejneru do nově vytvořeného registru v Azure, klikněte na Dokončit .

    Snímek obrazovky zobrazující úspěšné publikování

Další kroky

Kontejner teď můžete načíst z registru do libovolného hostitele, který podporuje spouštění imagí Docker, například Azure Container Instances.

S Visual Studio můžete snadno sestavovat, ladit a spouštět kontejnerizované aplikace .NET, ASP.NET a ASP.NET Core a publikovat je ve službě Azure Container Registry, Docker Hub, Azure App Service nebo ve vašem vlastním registru kontejnerů. V tomto článku publikujete aplikaci ASP.NET Core do Azure Container Registry.

Požadavky

Instalace a nastavení

V případě instalace Dockeru si nejprve projděte informace v docker Desktopu pro Windows: Copotřebujete vědět před instalací . Dále nainstalujte Docker Desktop.

Přidání projektu do kontejneru Dockeru

  1. Vytvořte nový projekt pomocí šablony webové aplikace ASP.NET Core nebo pokud chcete místo .NET Core použít .NET Framework, zvolte webovou aplikaci ASP.NET (.NET Framework).

  2. Na obrazovce Vytvořit novou webovou aplikaci se ujistěte, že je zaškrtnuté políčko Povolit podporu Dockeru.

    Snímek obrazovky se zaškrtávacím políčkam Povolit podporu Dockeru

    Snímek obrazovky ukazuje .NET 6.0. Pokud používáte jiný .NET Framework, vypadá trochu jinak.

  3. Vyberte typ kontejneru, který chcete (Windows nebo Linux) a klikněte na Vytvořit.

Přehled souboru Dockerfile

V projektu se vytvoří soubor Dockerfile, recept na vytvoření konečné image Dockeru. Informace o příkazech v souboru Dockerfile najdete v referenčních informacích:

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["WebApplication3/WebApplication3.csproj", "WebApplication3/"]
RUN dotnet restore "WebApplication3/WebApplication3.csproj"
COPY . .
WORKDIR "/src/WebApplication3"
RUN dotnet build "WebApplication3.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication3.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication3.dll"]

Předchozí soubor Dockerfile vychází z image Microsoft Container Registry (MCR) .NET 6 a obsahuje pokyny pro úpravu základní image sestavením projektu a jeho přidáním do kontejneru. Pokud používáte základní image .NET Framework, základní image se bude lišit.

Když je v dialogovém okně nového projektu zaškrtnuté políčko Konfigurovat pro HTTPS, soubor Dockerfile zpřístupní dva porty. Jeden port se používá pro provoz HTTP. Druhý port se používá pro PROTOKOL HTTPS. Pokud políčko není zaškrtnuté, pro provoz HTTP se zobrazí jeden port (80).

Ladění

V rozevíracím seznamu ladění na panelu nástrojů vyberte Docker a spusťte ladění aplikace. Může se zobrazit zpráva s výzvou o důvěřování certifikátu. Zvolte, že chcete certifikátu důvěřovat, aby pokračoval.

Možnost Nástroje kontejneru v okně Výstup ukazuje, k jakým akcím došlo. První stažení základní image může chvíli trvat, ale při dalších spuštěních je to mnohem rychlejší.

Po sestavení se zobrazí prohlížeč a zobrazí se domovská stránka vaší aplikace. V adresní řádku prohlížeče vidíte adresu URL místního hostitele a číslo portu pro ladění.

Poznámka

Pokud potřebujete změnit porty pro ladění, můžete to udělat v souboru launchSettings.json. Viz Spuštění kontejneru Nastavení.

Okno Kontejnery

Okno Kontejnery můžete použít k zobrazení spuštěných kontejnerů na vašem počítači i imagí, které máte k dispozici.

Otevřete okno Kontejnery pomocí vyhledávacího pole v integrovaném vývojovém prostředí (stisknutím Klávesy Ctrl Q ho použijte), zadejte a v seznamu zvolte + container okno Kontejnery.

Okno Kontejnery můžete připojit na vhodném místě, například pod editorem, a to tak, že ho přesunete kolem a budete se pohybovat podle pokynů k umístění okna.

V okně vyhledejte kontejner a prohlédněte si jednotlivé karty, abyste si prošli proměnné prostředí, mapování portů, protokoly a systém souborů.

Snímek obrazovky s oknem Kontejnery

Další informace najdete v tématu Použití okna Kontejnery.

Publikování imagí Dockeru

Po dokončení cyklu vývoje a ladění aplikace můžete vytvořit produkční image aplikace.

  1. Změňte rozevírací seznam konfigurace na Release (Verze) a sestavte aplikaci.

  2. Klikněte pravým tlačítkem na projekt v Průzkumník řešení a zvolte Publikovat.

  3. V dialogovém okně Publikovat vyberte kartu Container Registry Dockeru.

    Snímek obrazovky s dialogem Publish (Publikovat) – zvolte Docker Container Registry.

  4. Zvolte Vytvořit nový Azure Container Registry.

    Snímek obrazovky s dialogem Publikovat – zvolte Vytvořit nový Azure Container Registry.

  5. Do pole Create a new Azure Container Registry (Vytvořit novou Azure Container Registry).

    Nastavení Navrhovaná hodnota Popis
    Předpona DNS Globálně jedinečný název Název, který jedinečně identifikuje váš registr kontejneru.
    Předplatné Zvolte vaše předplatné. Předplatné Azure, které se má použít.
    Skupina prostředků myResourceGroup Název skupiny prostředků, ve které chcete vytvořit registr kontejneru. Pokud chcete vytvořit novou skupinu prostředků, zvolte Nová.
    SKU Standard Úroveň služby registru kontejneru
    Umístění registru Umístění blízko vás Zvolte Umístění v oblasti blízko vás nebo v blízkosti jiných služeb, které budou používat váš registr kontejneru.

    Snímek Visual Studio s dialogem pro vytvoření Azure Container Registry obrazovky

  6. Klikněte na Vytvořit. V dialogovém okně Publikovat se teď zobrazuje vytvořený registr.

    Snímek obrazovky s dialogem Publish (Publikovat) Azure Container Registry vytvořenými daty

  7. Zvolte Dokončit a dokončete proces publikování image kontejneru do nově vytvořeného registru v Azure.

    Snímek obrazovky zobrazující úspěšné publikování

Další kroky

Kontejner teď můžete stáhnout z registru na libovolného hostitele, který dokáže spustit image Dockeru, například Azure Container Instances.

Další zdroje informací