我正在运行包含docker构建任务的VSTS构建。我在build args字段中传递--no-cache参数。不幸的是,在构建期间,我收到一条消息,指出这个arg被忽略了。有没有人有同样的问题?
答案 0 :(得分:1)
原因是,docker构建任务在--no-cache
之后添加--build-arg
参数,不能被消费。
解决方法是您可以添加其他参数,例如test=test --no-cache
(不会消耗[test]警告。
另一方面,您也可以通过命令行任务调用docker build命令。
答案 1 :(得分:0)
添加--no-cache
对我不起作用
我在不希望被缓存的COPY
语句之前在Dockerfile中添加了一个标记
FROM microsoft/azure-functions-dotnet-core2.0:2.0-nanoserver-1803
ARG CACHEBUSTER=0
COPY ./FunctionApp/bin/Release/netstandard2.0/Publish /approot
,然后将RegEx Replace
任务放置在docker build
任务之前,并用唯一的内容替换 ARG CACHEBUSTER = 0 。 ARG CACHEBUSTER = $(Build.BuildNumber)
答案 2 :(得分:0)
在Azure生成管道中使用“ azure-pipelines.yml”可解决此问题:
script: docker build -t $(dockerId)/$(imageName) . # add options to this command to meet your needs
Build, test, and push Docker container apps in Azure Pipelines - Build an image
示例:
pool:
name: MarkusMeyer
demands:
- node.js
- Agent.OSVersion -equals 10.0.17134
variables:
imageName: 'your-container-image-name:$(build.buildId)'
steps:
- script: docker build --no-cache -f Dockerfile -t $(imageName) .
displayName: 'docker build'