带有 docker 和 .NET Core 2.0 的 VSTS CI/CD - 复制失败

2023-12-06

在关注几个 .NET Core 2.0 Visual Studio Team Services 持续集成/持续交付示例时,我在 VSTS 中遇到了复制错误。

通过 VS17 添加 docker 支持在本地使用这样的 dockerfile 效果很好。

FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "myapp.dll"]

通过 MVC 应用程序和 WebAPI 应用程序,它可以在本地与 docker-compose 配合良好。

添加 VSTS CI 构建过程并运行它时,我不断遇到副本错误。

构建 myapp 服务“myapp”失败 建造:复制失败:GetFileAttributesEx\?\C:\Windows\TEMP\docker-builder91\obj\Docker\publish: 系统找不到指定的路径。 C:\程序 Files\Docker\docker-compose.exe 失败,返回代码:1


我找到的解决方法是来自这个博客。

请注意,他们在 Linux docker 机器上遇到了错误

复制失败:stat /var/lib/docker/tmp/docker-builder613328056/obj/Docker/publish:没有这样的文件或目录 /usr/bin/docker 失败,返回代码:1

解决方案:

像这样创建一个 Dockerfile.ci

FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "SiliconValve.Vsts.DockerDemo.dll"]

它还需要修改 .dockerignore 文件。

bin/
obj/
!*.dll
!obj/Docker/publish/*
!obj/Docker/empty/

这使我能够继续 CI 过程,但我认为有更简单的方法可以解决该问题。

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

带有 docker 和 .NET Core 2.0 的 VSTS CI/CD - 复制失败 的相关文章

随机推荐

  • 如何禁用引导列中的垂直滚动

    我有两个引导列 左 和 右 我想用屏幕修复左栏并禁用滚动 但我想在右列中启用滚动 这将有更多内容 基本上我想显示帖子 使帖子标题显示在左列中 帖子内容显示在右列中 完全相同this 注 我用过overflow y hidden 但没有成功
  • 在主题中使用 fontFamily 属性时,Toast 会抛出 ArrayIndexOutOfBoundsException 和 appcompat v26

    每当我展示一个Toast 应用程序崩溃 如果我使用旧版本的 AppCompat 库或删除该应用程序 则该应用程序可以正常工作fontFamily从风格上 创建时 Override protected void onCreate Bundle
  • 在 Dataobject 中提交表单 - Silverstripe 3.1

    我正在使用 Aram 的 DataobjectAsPage 模块 现在我想在每个 DOaP 站点上都有一个表单 我在我的数据对象中创建了这样的表单 public function RegistrationForm fields new Fi
  • 获得mysql中每个人第二高的工资

    我们有如下表 person id salary 1 1500 1 1000 1 500 2 2000 2 1000 3 3000 3 2000 4 3000 4 1000 我们希望每个人的薪水都是第二高的 按每个人分组并获得第二高的工资 像
  • 不同实现之间的随机输出不同

    我已经用 libstdc libc 和 dinkumware 尝试过这个程序 include
  • 重新排列 SimpleCursorAdapter 中的列表视图项目

    我有一个数据库 SQLite 然后使用 SimpleCursorAdapter 将值显示到列表视图中 但是 我想重新排列列表视图项目并显示以 ID 1 开头的项目 然后显示 ID 号 2 的项目 依此类推 问题是 我无法理解基于重新分配列表
  • 如何将xpath的值放入html img标签中

    以下代码为我提供了适当的字符串 但我不知道如何将该值放入 html img 标签中
  • 将 Apache Cassandra 与 Apache Ignite 集成

    我正在尝试将 Apache Ignite 与 Apache Cassandra 3 11 2 集成 因为我想使用 Ignite 缓存现有 Cassandra 数据库中存在的数据 在浏览了在线资源之后 到目前为止我已经完成了以下工作 已下载阿
  • 仅指定操作时如何将一个控制器设置为默认控制器?

    我正在使用 MVC 2013 中的标准 MVC 模板 有一个Home具有 关于 联系 等操作的控制器 有一个Account具有登录 注销等操作的控制器 该应用程序部署在域中website 网址http 网站将产生 Home Index 的输
  • 在javascript中将十六进制颜色转换为整数

    我正在尝试将十六进制颜色字符串转换为 JavaScript 中的 int color int 必须与 VB6 的格式相同 我认为字节顺序不正确 例如 255 是红色 ff0000 16776960 是水色 00ffff 我有一个函数可以做相
  • C:传递(双重)赋值

    我在 C 中使用过这样的构造 list gt head list gt tail NULL 现在我考虑这是否真的如我所想 这是什么意思吗 list gt head NULL list gt tail NULL or list gt head
  • 以 Stellar JS 为中心的 CSS 背景图像

    我正在使用 Stellar JS 将背景图像设置为元素 并尝试实现以视差移动的居中图像 然而 当我尝试使用标准方法时 我意识到背景位置是由恒星更新的 然后恒星会覆盖居中 我假设这就是覆盖它的原因 我创建了一个小提琴来解释这种情况 http
  • 仅允许某些字符

    我想阻止输入除 0 9 a z A Z 范围内的字母数字字符之外的所有字符 所以当有人打字时 例如 没有任何内容写入输入 我怎样才能做到这一点 您需要编写一个函数来监听onkeypress事件 然后检查表单是否包含任何不需要的字符 如果包含
  • Ninject - 基于子域动态指定连接字符串

    我正在尝试使用 ninject 根据 url 动态指定连接字符串 我正在使用 ninject mvc nuget 包 该包使用 webActivator 我的代码如下 我的注射 kernel Bind
  • 检查选择是否包含链接

    我正在创建一个富文本编辑器 我想使用相同的按钮来链接和取消链接选择 document execCommand createLink and document execCommand unlink 允许用户链接和取消链接window getS
  • CentOS *** 错误:Phusion Passenger 似乎没有运行

    当我通过 capistrano 将 Rails 应用程序部署到我的 CentOS 服务器时 我一直收到此错误 错误 Phusion Passenger 似乎没有运行 如果您确定它正在运行 那么导致此问题的原因可能是 的 您使用 Apache
  • 如何使用vba更新用户窗体中的Excel工作表的数据

    你想知道如何从 Excel 工作表中检索数据并在用户表单中更新它 在图片上您可以看到用户表单的样子 我想做的是创建另一个用户表单 可以在工作表中搜索特定引用并更新该特定行的一些单元格 This is the code I have now
  • 测试 IE11 中正则表达式编译的功能

    我想测试一下Unicode 正则表达式属性转义以避免在不支持正则表达式的浏览器 例如 IE11 中编译损坏的正则表达式 理想情况下 我想写一些类似的内容 if regex supports unicode property escapes
  • 如何从 docker 容器内部获取 docker 主机的 IP 地址 [重复]

    这个问题在这里已经有答案了 正如标题所示 我需要能够检索 docker 主机的 IP 地址以及从主机到容器的端口映射 并在容器内部执行此操作 sbin ip route awk default print 3 正如 MichaelNeale
  • 带有 docker 和 .NET Core 2.0 的 VSTS CI/CD - 复制失败

    在关注几个 NET Core 2 0 Visual Studio Team Services 持续集成 持续交付示例时 我在 VSTS 中遇到了复制错误 通过 VS17 添加 docker 支持在本地使用这样的 dockerfile 效果很