我正在尝试访问我的 git 存储库并在我使用 az acr build
构建的 docker 机器内执行一些 git 命令。机器构建正确。但我收到这些警告:
警告:登录服务器终结点后缀“.azurecr.io”会自动省略。
警告:正在将源代码打包到 tar 中上传...
警告:根据默认忽略规则排除“.git”
警告:根据默认忽略规则排除“.gitignore”
正如您所料,稍后当我尝试通过 COPY 任务将文件从工作目录复制到 docker 计算机时,.git 文件夹不存在。似乎 az acr build 的默认忽略设置在构建 docker 计算机时会忽略 .git 文件夹。我在这里检查了文档:https://learn.microsoft.com/en-us/cli/azure/acr?view=azure-cli-latest#az-acr-build
它似乎没有说任何关于更改默认忽略规则的事情。我有什么想法可以改变这个吗?
这里是我运行的 az 命令作为引用:
az acr build \
-t $(docker_repository_name)/$(docker_image_name):$(Build.BuildNumber) \
--registry $(docker_registry_host) \
--file src/Dockerfile /home/vsts/work/1/s/ \
--platform $(docker_platform)
这是我的 dockerfile 中尝试复制 .git 文件夹的部分:
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
COPY [".git", "test/.git/"]
RUN ls test -la
COPY ["/", "test/"]
RUN ls test -la
值得注意的是,我并没有将其融入 .dockerignore
最佳答案
知道怎么做了!您的 dockerignore 文件需要引用 .git,您必须包含 !.git/** - 这样它就知道 .git 绝对不会从上下文中删除。
关于azure - 使用 az acr build 时更改默认忽略规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70856129/