简体   繁体   English

未使用 docker 命令构建新的 Asp.Net 核心项目

[英]New Asp.Net core project not getting build with docker command

I created new Asp.net core project in VS2017, and selected docker support for linux.我在 VS2017 中创建了新的 Asp.net 核心项目,并选择了对 linux 的 docker 支持。 the docker file looks like below docker 文件如下所示

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

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

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

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

When i run the below docker build command, I'm getting an error.当我运行以下 docker build 命令时,出现错误。

docker buid -t mylogin/dotnetcoreapp1 .

Error Message错误信息

Sending build context to Docker daemon  4.125MB
Step 1/16 : FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
 ---> 651a14e0b96b
Step 2/16 : WORKDIR /app
 ---> Running in 929f4fdb28f2
Removing intermediate container 929f4fdb28f2
 ---> 54cdd8399e5b
Step 3/16 : EXPOSE 80
 ---> Running in 844cfb6d1638
Removing intermediate container 844cfb6d1638
 ---> b15703d4c881
Step 4/16 : FROM microsoft/dotnet:2.1-sdk AS build
 ---> 1f3b89fbfa01
Step 5/16 : WORKDIR /src
 ---> Running in 07375b9916a3
Removing intermediate container 07375b9916a3
 ---> dc4227c9d5ec
Step 6/16 : COPY ["WebApp2.csproj", ""]
 ---> 1cd0239157a4
Step 7/16 : RUN dotnet restore "/WebApp2.csproj"
 ---> Running in 73fad81058fd
MSBUILD : error MSB1001: Unknown switch.
Switch: /WebApp2.csproj
    
For switch syntax, type "MSBuild /help"
The command 'cmd /S /C dotnet restore "/WebApp2.csproj"' returned a non-zero code: 1

I faced the same issue, Just move the dockerfile one level up我遇到了同样的问题,只需dockerfile 向上移动一级
for example your current csproj path is例如您当前的 csproj 路径是
c:\\projects\\MySolutionFolder\\MyProj\\MyProj.csproj (Where docker file is here as well) c:\\projects\\MySolutionFolder\\MyProj\\MyProj.csproj(docker 文件也在这里)
Move the docker file to be in "c:\\projects\\MySolutionFolder\\"docker文件移动到“c:\\projects\\MySolutionFolder\\”

I hop it helps you.我希望它可以帮助你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM