【问题标题】:Docker and trying to build an image using Azure PipelinesDocker 并尝试使用 Azure Pipelines 构建映像
【发布时间】:2018-10-15 07:40:24
【问题描述】:

希望有人能像他们说的那样帮我见识见识!

我不是 Linux 专家,因此我可能遗漏了一些非常明显的东西。 我有一个包含以下内容的 dockerfile:

FROM node:9.8.0-alpine as node-webapi
EXPOSE 3000
LABEL authors="David Sheardown"
COPY ["package.json", "npm-shrinkwrap.json*", "./"]
RUN npm install --production --silent && mv node_modules ../
COPY . /home/vsts/work/1/s/
CMD ["node", "index.js"]

然后我有一个 Azure 管道设置,如下图所示:

我的问题似乎是构建过程找不到 dockerfile 本身:

##[error]Unhandled: No Dockerfile matching  /home/vsts/work/1/s/**/Dockerfile  was found.

再次,为我缺乏 Linux 知识提前道歉.. 有一些愚蠢的事情我做过或没有做过 ;)

P.S:我忘了在 Azure Pipelines 中提到我正在使用“Hosted Linux Preview

-- 更新--

这是获取源阶段:

【问题讨论】:

  • 你能分享你的“获取资源”阶段吗?
  • 嗨@ShaykiAbramczyk 抱歉耽搁了,我一直在追逐。我有“获取资源”阶段的屏幕截图,但我认为我必须添加到问题中(请参阅更新),因为我似乎无法在此处添加图像..非常感谢您的帮助!
  • 我需要Get Sources阶段的日志,你也可以分享一下吗?
  • 嗨@ShaykiAbramczyk,我很抱歉,我已经包含了日志(azure pipelines 让我可以选择以 zip 格式下载)这是 zip 的链接:1drv.ms/f/s!AokoVeppvI53iLFdju-mJAVDCk41og 非常感谢您的帮助!跨度>
  • 嗨,我不知道为什么,但是我在日志中看不到“获取源”中下载了哪些文件,您可以这样截图:imgur.com/a/RialbDr

标签: docker azure-devops azure-pipelines


【解决方案1】:

我建议添加 docker 文件在您的存储库中所在位置的确切路径。

 Dockerfile: subpath/Dockerfile`

【讨论】:

    【解决方案2】:

    您在 dockerfile 和 docker build 任务中都滥用了这个绝对路径:

    /home/vsts/work/1/s/
    

    这是存在于构建代理(不在 dockerfile 中)的路径 - 但它可能存在也可能不存在于任何给定的管道运行中。如果代理碰巧使用工作目录 2 或 3 或任何其他编号,那么您的路径将无效。如果您想在不同类型的代理上运行此管道,那么您的路径将无效。

    如果您想在签出的代码中使用 dockerfile,那么您应该使用相对路径(基于代码存储库的根目录),例如:

    buildinfo/docker/Dockerfile
    

    注意:这只是一个示例,以显示您应该使用的路径;在这里,您应该在 actual 代码仓库中使用 actual 相对路径。

    【讨论】:

    • PS 出于相关但不同的原因,您的 dockerfile 中的“COPY ./home/vsts/work/1/s/”行需要以不同方式完成。
    猜你喜欢
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多