c# - 如何修复我的 Dockerfile 以生成成功的图像?
问题描述
我在尝试对 asp.net Core API 进行 Dockerize 时遇到了一些麻烦,当我尝试使用服务器中的目录时,Dockerfile 的构建失败
提前致谢
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY netuse\\000.000.00.000/NugetRepository$/nugetproy/MongoRefMapValidator/ /src
COPY netuse\\000.000.00.000/NugetRepository$/nugetproy/CanonicalModels/ /src
COPY netuse\\000.000.00.000/NugetRepository$/nugetproy/CanonicalConstants/ /src
CMD xcopy C:/proy/proyCore/.nuget/nuget.config /root/.nuget/NuGet/
COPY ./MyESAPI.csproj src/
COPY . .
WORKDIR /src/MyESAPI
RUN dotnet build "MyESAPI.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "MyESAPI.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "myesapi.dll"]
在“000.000.00.000”是我的服务器的IP地址这是我的错误:
COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder520676771\netuse\000.000.00.000\NugetRepository$\nugetproy\MongoRefMapValidator: El sistema no puede encontrar la ruta especificada.
解决方案
似乎您正在 Docker 上下文之外构建映像:这意味着Dockerfile
应该位于包含源文件的上层文件夹中,如下所示:
my_project
├── src/
│ ├── my_file.ext
│ └── another_file.ext
└── Dockerfile
这意味着 Docker 守护进程可以只推送上下文中的文件my_project
:实际上,从您共享的片段中,您正在尝试从网络共享中复制内容(我猜是由于netuse
路径)。
推荐阅读
- php - php xml SimpleXMLElement addChild 大数据破坏 xml
- angularjs - 有效的正则表达式不适用于 AngularJS
- python - 使用 isin 函数后,我无法在 pandas Dataframe 上使用 filter 函数吗?
- android - MutableList 不添加新值 Kotlin
- dialogflow-es - Dialogflow - Google Assistant:@sys.any 实体未捕获数字序列
- sql-server - 分区和最大值的慢查询性能问题
- python - 如何使用 Python 抓取具有相同 url 的多个页面?
- javascript - Websocket发送blob对象而不是字符串
- angular - 即使使用 NO_ERRORS_SCHEMA 也不是角度的已知元素
- xamarin.forms - Xamarin 表单:当代码执行到 displayalert 行时,UWP 应用程序中断