【问题标题】:Visual Studio Team Service fails Task Docker BuildVisual Studio Team Service 任务 Docker 构建失败
【发布时间】:2016-06-03 19:48:36
【问题描述】:

我正在尝试运行构建 Docker 任务来创建 Docker 映像。我设置了一个 docker 主机,我使用默认的 Docker Hub 作为注册表,我的整个环境都在 Azure 上。

当我将构建任务排队时,它在任务 Docker 中失败。

日志输出:

检查路径:空 任务结果:失败

未找到泊坞窗:空

完成任务:Docker

[错误]任务 Docker 失败。这导致作业失败。查看任务的日志以了解更多详细信息。

有人对可能发生的事情有任何想法吗?

【问题讨论】:

  • 任务定义是什么?你是怎么排队的?

标签: docker asp.net-core azure-devops azure-pipelines-build-task


【解决方案1】:

经过调查后,如果 Docker 没有正确安装在构建代理上,而该代理正在运行的服务主体上,就会出现这种情况。

请记住:

  • 根据documentation 底部的一个非常小的脚注,构建必须在私有代理中运行,因为托管的尚未安装 Docker。
  • VSTS 代理必须与已设置环境变量的主体一起运行,以便 docker 运行;默认为 LocalService 帐户,不会安装该帐户。事实证明这也是其他东西的问题,我发现最好有一个特殊的用户主体来运行代理,它也可以登录系统。

解决这两个问题使它对我有用。

【讨论】:

  • 我花了一些时间来测试,但遵循这些使 docker 在代理上完美运行。谢谢。
  • 很高兴听到这个消息!希望团队尽快改进文档。
【解决方案2】:

我能够将代理切换到支持 Docker 的 Hosted VS2017。

【讨论】:

  • 您能否简要介绍一下您是如何使用“Hosted VS2017”设置 docker 构建的?它有 docker 支持,但在构建过程中我仍然遇到错误(基于 linux 的容器)。
  • @PavelSapehin 已经有一段时间了,从那时起我们的脚本发生了变化。如果我没记错的话,我没有做任何特别的事情,只是换了那个经纪人。我们已经在那个代理上安装了 Docker。
  • @PavelSapehin 我刚刚检查了我们最新的构建脚本,它在托管 Linux 预览版、托管 VS2017 和我们的私有 Linux 上运行良好。如果由于缺少 .net 核心而在托管代理上失败。
  • @QUAZZY 如果我没记错的话,默认的“Hosted VS2017”被配置为运行Windows Docker Containers。这就是为什么构建对我来说不成功的原因。此外,我尝试切换到“托管 Linux 预览版”(带有 preinstalled dotnetcore),但它没有 docker 支持。幸运的是,我能够通过 apt-get 使用“Bash 命令”任务安装 docker,并且构建通过(在构建 docker 映像之前,我也在使用“dotnet publish”任务)。感谢您的帮助。
【解决方案3】:

如果可以选择 Linux,请尝试托管 Linux 预览版

【讨论】:

    猜你喜欢
    • 2017-11-26
    • 2016-08-23
    • 2017-05-25
    • 2015-04-15
    • 1970-01-01
    • 2016-06-25
    • 2016-08-16
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多