VSTS无法构建docker镜像

Chi*_*mar 2 c# docker docker-compose azure-devops visual-studio-2017

我有一个简单的开箱即用VS2017 web api,我正在尝试在VSTS上构建Docker镜像并将图像发布到Azure容器注册表.但它不起作用,错误如下:

2018-05-21T16:49:45.8481201Z Step 7/17 : COPY WebApi/WebApi.csproj WebApi/
2018-05-21T16:49:45.8503445Z COPY failed: stat /var/lib/docker/tmp/docker-builder936381234/WebApi/WebApi.csproj: no such file or directory
2018-05-21T16:49:45.8644972Z ##[error]COPY failed: stat /var/lib/docker/tmp/docker-builder936381234/WebApi/WebApi.csproj: no such file or directory
2018-05-21T16:49:45.8732546Z ##[error]/usr/local/bin/docker failed with return code: 1
Run Code Online (Sandbox Code Playgroud)

它是标准的VS2017解决方案.

Dockerfile

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

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

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApi.dll"]
Run Code Online (Sandbox Code Playgroud)

.dockerignore

.dockerignore
.env
.git
.gitignore
.vs
.vscode
docker-compose.yml
docker-compose.*.yml
*/bin
*/obj
Run Code Online (Sandbox Code Playgroud)

泊坞窗,compose.yml

version: '3.4'

services:
  webapi:
    image: webapi
    build:
      context: .
      dockerfile: WebApi/Dockerfile
Run Code Online (Sandbox Code Playgroud)

我通过更改.dockerignore文件,删除它等等尝试了所有建议的解决方案.

sta*_*SFT 10

它基于构建上下文来复制文件,默认情况下,对Docker任务检查使用默认构建上下文选项,您需要取消选中此选项并指定相应的路径(相同级别的解决方案),例如对于根文件夹..