azure - 使用 az acr build 时更改默认忽略规则

标签 azure docker

我正在尝试访问我的 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/

相关文章:

c# - 部署到 Azure 后不显示单个图像

asp.net - Web 配置转换不适用于 Visual Studio Online、VS2013 和 Azure

docker - Docker中的503服务暂时不可用nginx/1.13.3

linux - 使用 kubernetes 在 docker 容器中部署 wso2esb

docker - 无法绑定(bind)到 http ://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'

powershell - 容器尝试Powershell时在CreateProcess期间遇到错误

.net - 订阅不具有类型 'S0' 的 SKU 'QnAMaker' 所需的 QuotaId/功能

c# - Azure Function - Cosmos DB 删除文档问题

Docker 不解析主机名

azure - 创建具有区域冗余属性的 Azure 内部负载均衡器