无法在cicd中构建docker映像,找不到该映像的路径。
这是我的dockerfile
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-ltsc2019
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-./obj/Docker/publish} .
#I am choising Azure pipeline agent windows-2019
步骤4/4:复制$ {source:-。/ obj / Docker / publish}。
复制失败:CreateFile \?\ C:\ ProgramData \ docker \ tmp \ docker-builder174212468 \ obj \ Docker \ publish: 该系统找不到指定的路径。 [错误] C:\ Program Files \ Docker \ docker.exe失败,返回码:1
答案 0 :(得分:1)
我遇到了同样的问题,终于解决了。我正在将新的YAML管道与“ Docker @ 2”任务一起使用。解决方案是指定“ buildContext”属性。我必须与您的Dockerfile中的WorkingDir相同。
Dockerfile:
WORKDIR /src
Azure Pipeline Yaml:
buildContext: 'src/'
全任务:
- task: Docker@2
displayName: Build and push an image to container registry
inputs:
containerRegistry: '$(dockerRegistryServiceConnection)'
repository: '$(imageRepository)'
command: 'buildAndPush'
Dockerfile: 'src/Dockerfile'
buildContext: 'src/'
tags: '$(tag)'
答案 1 :(得分:0)
错误非常清楚,COPY
找不到在构建期间要复制的文件。
$source
变量引用当前目录。如果$ source为空或不存在,则只需使用默认路径obj/Docker/publish
。
您可以在Github或issue (Is it possible to change default directory (obj/docker/publish) to copy files)上查看此issues-6。
构建图像时,它会从指定的路径复制内容 在容器内当前目录的source参数中。 如果未指定源参数,则路径中的内容 使用obj / Docker / publish。