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
- Docker Desktop
- Visual Studio 2017 s nainstalovanou úlohou Vývoj webu, Nástroje Azure a/nebo Vývoj pro různé platformy v .NET Core
- Publikování do Azure Container Registry, předplatné Azure. Zaregistrujte si bezplatnou zkušební verzi.
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
V nabídce Visual Studio vyberte Soubor a > Nový > Project.
V části Šablony dialogového okna Nový Project vyberte Visual C# > Web.
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).
Zadejte název nové aplikace (nebo vezměte výchozí nastavení) a vyberte OK.
Vyberte Web Application (Webová aplikace).
Zaškrtněte políčko Povolit podporu Dockeru.

Snímek obrazovky ukazuje .NET Core. Pokud používáte jiný .NET Framework, vypadá trochu jinak.
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.
Změňte rozevírací seznam konfigurace na Release (Verze) a sestavte aplikaci.
Klikněte pravým tlačítkem na projekt v Průzkumník řešení a zvolte Publikovat.
V dialogovém okně cíl publikování vyberte kartu Container Registry publikování.
Zvolte Vytvořit nový Azure Container Registry a klikněte na Publikovat.
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. 
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
- Docker Desktop
- Visual Studio 2019 s nainstalovanou úlohou vývoj pro Web, úlohy nástrojů Azure a/nebo .net Core pro vývoj pro různé platformy
- Vývojové nástroje .NET Core pro vývoj pomocí .NET Core
- Pokud chcete publikovat Azure Container Registry, předplatné Azure. Zaregistrujte si bezplatnou zkušební verzi.
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
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).
Na obrazovce vytvořit novou webovou aplikaci se ujistěte, že je zaškrtnuté políčko Povolit podporu Docker .

Snímek obrazovky ukazuje .NET Core; pokud používáte .NET Framework, vypadá to trochu odlišně.
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ů.

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.
Změňte rozevírací seznam konfigurace na vydaná a sestavte aplikaci.
V Průzkumník řešení klikněte pravým tlačítkem na projekt a vyberte publikovat.
V dialogovém okně publikovat vyberte kartu Docker Container Registry .

Vyberte vytvořit novou Azure Container Registry.

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. 
Klikněte na Vytvořit. Dialog publikovat teď zobrazuje vytvořený registr.

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

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
- Docker Desktop
- Visual Studio 2022 s nainstalovanou úlohou Vývoj webu, Nástroje Azure a/nebo Vývoj pro různé platformy v .NET Core
- Vývojové nástroje .NET Core pro vývoj s .NET Core
- Publikování do Azure Container Registry, předplatné Azure. Zaregistrujte si bezplatnou zkušební verzi.
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
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).
Na obrazovce Vytvořit novou webovou aplikaci se ujistěte, že je zaškrtnuté políčko Povolit podporu Dockeru.

Snímek obrazovky ukazuje .NET 6.0. Pokud používáte jiný .NET Framework, vypadá trochu jinak.
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ů.

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.
Změňte rozevírací seznam konfigurace na Release (Verze) a sestavte aplikaci.
Klikněte pravým tlačítkem na projekt v Průzkumník řešení a zvolte Publikovat.
V dialogovém okně Publikovat vyberte kartu Container Registry Dockeru.

Zvolte Vytvořit nový Azure Container Registry.

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. 
Klikněte na Vytvořit. V dialogovém okně Publikovat se teď zobrazuje vytvořený registr.

Zvolte Dokončit a dokončete proces publikování image kontejneru do nově vytvořeného registru v Azure.
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.