Docker for Windows 构建添加了用于 COPY 的前缀 `/var/lib/docker/tmp/` ?

2024-03-30

我已经安装了适用于 Windows 的 Docker,并使用 Visual Studio 2017 创建了一个具有 docker 支持的新 Asp.net core 应用程序(我尚未进行任何更改)。但是,docker build 报了以下错误。 Dockerfile 正确吗?



PS C:\source\repos\myProj\ProcessFiles> docker build .
Sending build context to Docker daemon  1.178MB
Step 1/17 : FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
 ---> 04aae08f15c5
Step 2/17 : WORKDIR /app
 ---> Using cache
 ---> 135955e04284
Step 3/17 : EXPOSE 34746
 ---> Using cache
 ---> 85fd0075aa42
Step 4/17 : EXPOSE 44398
 ---> Using cache
 ---> 7e3d5526f601
Step 5/17 : FROM microsoft/dotnet:2.1-sdk AS build
 ---> 7c3e298d40ac
Step 6/17 : WORKDIR /src
 ---> Using cache
 ---> b395ba27d8f9
Step 7/17 : COPY ProcessFiles/ProcessFiles.csproj ProcessFiles/
COPY failed: stat /var/lib/docker/tmp/docker-builder662645761/ProcessFiles/ProcessFiles.csproj: no such file
 or directory
  

这里是Dockerfile由 Visual Studio 自动生成。线路发生错误COPY ProcessFiles/ProcessFiles.csproj ProcessFiles/.

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

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

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

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

这是 Visual Studio 的输出。 (排除了有关设置 AWS 的行)。



Inspecting Dockerfile to figure how to build project and docker image
... Skip building project since it is done as part of Dockerfile
Executing docker build
... invoking 'docker build', working folder 'C:\source\repos\myProj\ProcessFiles, docker file C:\source\repos\myProc\ProcessFiles\Dockerfile, image name processfiles:latest'
... docker build: Sending build context to Docker daemon  1.178MB
... docker build: COPY failed: stat /var/lib/docker/tmp/docker-builder225959758/ProcessFiles/ProcessFiles.csproj: no such file or directory
... docker build: Step 1/17 : FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
... docker build:  ---> 04aae08f15c5
... docker build: Step 2/17 : WORKDIR /app
... docker build:  ---> Using cache
... docker build:  ---> 135955e04284
... docker build: Step 3/17 : EXPOSE 34746
... docker build:  ---> Using cache
... docker build:  ---> 85fd0075aa42
... docker build: Step 4/17 : EXPOSE 44398
... docker build:  ---> Using cache
... docker build:  ---> 7e3d5526f601
... docker build: Step 5/17 : FROM microsoft/dotnet:2.1-sdk AS build
... docker build:  ---> 7c3e298d40ac
... docker build: Step 6/17 : WORKDIR /src
... docker build:  ---> Using cache
... docker build:  ---> b395ba27d8f9
... docker build: Step 7/17 : COPY ProcessFiles/ProcessFiles.csproj ProcessFiles/
Error executing "docker build"
Attempting to clean up any ELB resources created for the failed deployment
Unknown error publishing container to AWS
  

这是目录中的文件C:\source\repos\myProj。文件Dockerfile在下面C:\source\repos\myProj\ProcessFile\。是否应该将其提升一级?



Mode   Name
----   ----
d----- bin
d----- obj
d----- ProcessFiles
-a---- .dockerignore
-a---- .gitattributes
-a---- .gitignore
-a---- docker-compose.dcproj
-a---- docker-compose.override.yml
-a---- docker-compose.yml
-a---- myProc.sln
  

当您运行构建命令时

docker build .

The .该命令中的 表示发送到(可能是远程)docker 引擎的“构建上下文”。全部COPY and ADD命令必须来自此目录内部(或者来自多阶段构建的前一阶段)。您还可以使用以下命令从该上下文中排除文件.dockerignore文件。 tmp 目录是由该构建上下文组成的 docker 唯一生成的内部目录。

要解决您的问题,您需要确保 ProcessFiles/ProcessFiles.csproj 存在于运行构建的目录中,并且您没有使用以下命令将其从上下文中排除:.dockerignore file.


编辑:根据您的评论,将复制命令更改为:

COPY ProcessFiles.csproj ProcessFiles/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker for Windows 构建添加了用于 COPY 的前缀 `/var/lib/docker/tmp/` ? 的相关文章

  • ASP.NET MVC2:“System.MissingMethodException:没有为此对象定义无参数构造函数。”

    我目前正在尝试修改默认 MVC 项目的注册组件 以适应我的项目 为此 我修改了 RegisterModel Register aspx 和 AccountController 我可以很好地查看寄存器视图 但是当我提交时 我在标题中收到错误
  • ASP.NET 成员资格 HashAlgorithmType 默认为 HMACSHA256,那么密码是哈希键控的吗?

    我有一个 ASP NET 4 5 Web 应用程序 它使用SqlMembershipProvider 在开发过程中 有人把passwordFormat Clear 在配置中导致密码以明文形式保存 我想删除它并启用密码散列 但我想确保散列不是
  • 使用内存数据库和急切加载函数对 EF Core 进行单元测试

    我正在为我的 Web API 编写单元测试 除非删除包含 从方法中热切加载 否则无法让测试通过 我正在使用内存数据库来提供dbcontext并且无法弄清楚为什么它不返回任何数据 预先感谢任何帮助或建设性批评 这是我正在尝试测试的方法 Not
  • ASP.NET Web Api 的事件发布者

    我已经开始使用微服务 我需要创建一个事件发布机制 我计划使用 Amazon SQS 这个想法很简单 我将事件存储在与聚合相同的事务中的数据库中 如果用户更改他的电子邮件 事件UserChangedEmail将被存储在数据库中 我还有事件处理
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 带有服务总线的 SignalR Azure 云服务

    我使用 SignalR 构建了一个简单的聊天应用程序那里有教程 http www asp net signalr overview getting started tutorial getting started with signalr
  • 导入错误:没有名为 google.auth 的模块

    当我尝试导入时firebase admin in python 2 7我收到错误 导入错误 没有名为 google auth 的模块 这是Docker文件 https github com ammaratef45 Attendance bl
  • 如何在服务器上保存用户凭据以在后台运行查询

    背景 我们有一个 ASP NET Silveright Web 应用程序 silverlight客户端显示用户 图形形式的特定数据 它从服务器请求数据 问题 由于服务器必须执行底层数据库查询 获取这些数据的成本很高 因此客户端必须等待 优化
  • 如何在启用 Hyper-V 的情况下使用 Kitematic?

    我已经安装了适用于 Windows 的 Docker 运行 Windows 10 开箱即用时 Docker 不会在 Hyper V 上安装映像 但我能够让它工作 Edit 我通过此屏幕上的链接获取了 Kitematic 单击下载后 我通过
  • 在.NET Core RC2中构建.exe文件

    每次我使用新的 NET Core RC2 模板构建项目时not提供了一个可运行的 EXE文件 如果我按 F5 来调试我的控制台应用程序 它可以通过 C Program Files dotnet dotnet exe 应用 如果我使用 dot
  • 绑定 WebForms TextBox 上的千位分隔符的逗号

    我正在尝试如下格式化数据绑定值 但我不断得到一个空格作为千 位分隔符 即显示的文本始终是 12 340 00 而它应该是 12 340 00 我缺少什么
  • 使用 Javascript 删除 HTML 表格行

    我正在使用下面的代码使用 javascript 删除 HTML 表行 但它给了我错误 使用下面的代码 我在运行时使用 javascript 创建一个列 其中包含删除锚标记 var tbody document getElementById
  • WatiN 还是 Selenium? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何为网站创建 RSS feed?

    我开发了一个网络应用程序 现在我想为我的网站创建 Rss 提要 在我的应用程序中 我有一个名为电影新闻的模块 其中包含电影明星的最新新闻 现在我想为该模块创建 RSS 提要 该新闻包含标题和描述 如何为我的应用程序创建 RSS 源 这是我用
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • “$(document).ready”函数的替代方案

    我在 aspx 页面中使用 fancybox 对于灯箱 文档就绪功能在此页面中不起作用 有人告诉我编写一个新的 JavaScript 代码来加载该页面中的灯箱 包括 jQuery 检查网络选项卡 确保您没有收到 404 检查控制台是否没有收
  • ASP.NET MVC 路由:如何从 URL 中省略“索引”

    我有一个名为 StuffController 的控制器 具有无参数索引操作 我希望从表单中的 URL 调用此操作mysite com stuff 我的控制器定义为 public class StuffController BaseContr
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • 您可以将标志传递给 docker 运行的命令吗?

    的文档run命令遵循以下语法 docker run OPTIONS IMAGE TAG DIGEST COMMAND ARG 然而我有时发现我想传递一个标志 COMMAND 例如 我一直在与这个图片 https github com mak
  • 将 docker-compose.yml 中的包安装到 docker 容器中

    我是 docker 和 docker compose 的初学者 我需要你的帮助 我正在使用 docker compose 制作 PHP NGINX PostgresQL symfony 开发环境 这里是 web image nginx 1

随机推荐