- 使用vs2019創建ASP.Net Core Web應用程式:

- 右側高級選項中有一項啟用Docker支持,勾選后vs會自動幫我們創建Dockerfile:

- 看一下Dockerfile的內容:
#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/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster 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"]
乍一看好像很完美,,,
- 下面用docker build一下,通常的做法是:
docker build -t mywebapp .

然后進行到第6步就報錯了:COPY failed: stat /var/lib/docker/tmp/docker-builder893785636/WebApplication1/WebApplication1.csproj: no such file or directory
沒有這樣的檔案或目錄,仔細一看COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]確實不對,WebApplication1這級目錄是多余的,

然后我試著修改Dockerfile檔案,最后怎么改都沒能成功,,,
解決方案一:
- 把生成的Dockerfile檔案移到上一級目錄,在上一級目錄執行
docker build -t mywebapp .就可以了,



解決方案二:
- 在上一級目錄執行docker build并使用-f引數指定Dockerfile檔案位置:
docker build -t mywebapp1 -f ./WebApplication1/Dockerfile .


解決方案三:
- 直接使用vs2019來啟動,將專案設定為Docker啟動:

Ctrl+F5即可啟動:

但是由于網路等原因,可能又會遇到其他問題,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/13508.html
標籤:.NET Core
上一篇:VSTO保存自定義資料到作業簿
