我正在运行一个Docker任务 'buildAndPush',在Azure Pipeline YAML文件中,用于构建我的存储库image并推送到ACR。这个任务运行得非常完美,我可以在docker和ACR中看到我的image。
然而,我想分解这个任务。我想在docker中构建image。我想本地运行一次docker image,然后运行docker image中的测试脚本(一个python文件)。只有在测试结果成功后,我才应该将其推送到ACR。
所以,我从构建任务开始。
然而,我想分解这个任务。我想在docker中构建image。我想本地运行一次docker image,然后运行docker image中的测试脚本(一个python文件)。只有在测试结果成功后,我才应该将其推送到ACR。
所以,我从构建任务开始。
- task: Docker@2
inputs:
containerRegistry: 'mycontainerRegistry'
repository: 'myrepository'
command: 'build'
Dockerfile: '**/Dockerfile'
tags: $(Build.BuildId)
这成功地构建了我的镜像。现在我运行一个bash命令来列出我的镜像。
- bash: docker image ls
我可以看到我的镜像已经构建完成,但是它显示为“***/myrepository”。这就是问题所在。
我想要使用这个镜像并运行我的新构建的docker镜像,以确保运行成功完成。
- bash: docker run 'myrepository:$(Build.BuildId)'
我遇到了“未找到存储库”的错误。根据图像标记,构建ID是正确的。我无法使用docker run ***/myrepository:$(Build.BuildId),因为它会抛出错误:“格式不正确”。
[error]invalid argument "***/myrepository:7167" for "-t, --tag" flag: invalid reference format
有没有方法可以解决这个问题?我现在采取的方式是否正确?
感谢您的时间!
***
不是一个被掩盖的秘密吗? - Daniel Mann