我的.sln文件和Dockerfile在本地硬盘驱动器上的不同位置。
到目前为止,我正在研究.sln文件和Dockerfile位于同一位置的源代码。
我面临正确配置它的困难。
CompanyCarsDocker\CompanyCarsDocker\CompanyCarsDocker.sln
上有.sln文件CompanyCarsDocker\CompanyCarsDocker\CarApi\Dockerfile
下面是我的Dockerfile
FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 54411
FROM microsoft/aspnetcore-build:2.0 AS builder
WORKDIR /src
COPY . ./*.sln ./
ADD ./site /inetpub/wwwroot
COPY ./CarApi.csproj CarApi/
RUN dotnet restore
COPY . .
WORKDIR /src/CarApi
RUN dotnet build -c Release -o /app
FROM builder AS publish
RUN dotnet publish -c Release -o /app
FROM base AS production
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "CarApi.dll"]
我已添加ADD ./site /inetpub/wwwroot
用于测试。我正在
ADD failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder782713904\site: The system cannot find the file specified.
相同的错误,我也遇到COPY ./CarApi.csproj CarApi/
如果我在Dockerfile中配置错误,请告诉我。
答案 0 :(得分:0)
您可以使用docker build
的-f标志来指定Dockerfile的路径
确保当前工作目录是包含sln文件和项目其余部分的目录。运行命令docker build -f <path to Dockerfile> .
答案 1 :(得分:0)
您的.sln文件位于两个目录中,因此您应该使用
COPY ../../*.sln ./
代替
COPY . ./*.sln ./