Azure Pipeline中Docker Build传递构建参数失效问题排查
Azure Pipeline Docker构建参数无法传递的原因及解决办法
问题原因
当使用Docker@2任务的buildAndPush命令时,你在arguments里额外添加了.,这是核心问题:
- 本地执行
docker build时需要.指定构建上下文,但Azure Pipeline的Docker@2任务会自动处理上下文路径,不需要手动添加。 - 你配置的
arguments: '--build-arg ASHTESTARG=1234 .'会让Docker把--build-arg ASHTESTARG=1234识别为上下文路径的一部分,而非构建参数,导致参数无法传递到Dockerfile。
修正后的Pipeline配置
把arguments里的.去掉即可:
- task: Docker@2 displayName: Build and Push inputs: command: buildAndPush repository: ${{ variables.repository }} dockerfile: ${{ variables.dockerfile }} arguments: '--build-arg ASHTESTARG=1234' tags: latest
验证说明
修正后重新运行Pipeline,Dockerfile里的RUN echo "My Test $ASHDEBUGENV"会正常输出My Test 1234,环境变量ASHDEBUGENV也会被正确设置。
内容的提问来源于stack exchange,提问作者Ash
相关产品推荐
相关产品推荐

