začínáme s docker v Visual Studio pro Mac

pomocí Visual Studio pro Mac můžete snadno sestavovat, ladit a spouštět ASP.NET Core aplikace a publikovat je v Azure.

Požadavky

Instalace a nastavení

V případě instalace Docker zkontrolujte a použijte informace v části instalace Docker Desktop pro Mac.

vytvoření webové aplikace ASP.NET Core a přidání podpory docker

  1. Nové řešení můžete vytvořit tak, že na soubor > nové řešení.
  2. v části aplikace .net Core > vyberte šablonu webové aplikace :  vytvořit novou ASP.NET aplikaci.
  3. Vyberte cílovou architekturu. V tomto příkladu použijeme .NET Core 2,2:  nastavení cílové platformy.
  4. V tomto příkladu zadejte podrobnosti projektu, například název (DockerDemo ). vytvořený projekt obsahuje všechny základy, které potřebujete k vytvoření a spuštění webu ASP.NET Core.
  5. V okně řešení klikněte pravým tlačítkem na projekt DockerDemo a vyberte přidat > přidat podporu Docker:  Přidat podporu Docker.

Visual Studio pro Mac automaticky přidá nový projekt do vašeho řešení s názvem docker- souboru dockerfile a přidá do existujícího projektu.

Vygenerované soubory podpory Docker

Souboru Dockerfile – přehled

Souboru Dockerfile je 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:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY DockerDemo/DockerDemo.csproj DockerDemo/
RUN dotnet restore "DockerDemo/DockerDemo.csproj"
COPY . .
WORKDIR "/src/DockerDemo"
RUN dotnet build "DockerDemo.csproj" -c Release -o /app/build

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "DockerDemo.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.

Poznámka

výchozí souboru dockerfile vytvořený pomocí Visual Studio pro Mac zveřejňuje Port 80 pro přenosy HTTP. Pokud chcete povolit přenosy přes protokol HTTPS, přidejte Expose 443 do souboru Dockerfile.

Ladění

vyberte docker-compose projekt jako spouštěcí Project a spusťte ladění (spustit ladění > spustit ladění). tím se sestaví, nasadí a spustí projekt ASP.NET v kontejneru.

Tip

Při prvním spuštění po instalaci Docker desktopu se může při pokusu o ladění zobrazit následující chyba: Cannot start service dockerdemo: Mounts denied

Přidejte /usr/local/share/dotnet/sdk/NuGetFallbackFolder na kartu Sdílení souborů v Docker desktopu:

Přidání složky NuGetFallbackFolder do sdílení souborů

Po dokončení sestavení se aplikace spustí v Safari:

Výchozí projekt Docker běžící v Safari

Všimněte si, že kontejner naslouchá na portu, http://localhost:32768 například, a tento port se může lišit.

Pokud chcete zobrazit seznam spuštěných kontejnerů, použijte docker ps příkaz v terminálu.

Poznamenejte si port Relay na snímku obrazovky dole (v části porty). To ukazuje, že kontejner naslouchá na portu, který jsme viděli v Safari výše, a přenáší požadavky na interní WebServer na portu 80 (jak je definováno v souboru Dockerfile). Z perspektivy aplikace naslouchá na portu 80:

Seznam kontejnerů Docker