Sur*_*raj 5 docker azure-devops
我正在 Azure Pipeline yaml 文件中运行 Docker 任务“buildAndPush”,以构建我的存储库映像并推送到 ACR。这个工作非常好,我可以在 docker 和 ACR 中看到我的图像。
不过,我想打破这个任务。我想在docker中构建镜像。我想在本地运行一次 docker 镜像,然后运行 docker 镜像(一个 python 文件)中的测试脚本。只有在测试结果成功后,我才应该将其推送到 ACR。
所以我开始构建任务。
- task: Docker@2
inputs:
containerRegistry: 'mycontainerRegistry'
repository: 'myrepository'
command: 'build'
Dockerfile: '**/Dockerfile'
tags: $(Build.BuildId)
Run Code Online (Sandbox Code Playgroud)
这成功地塑造了我的形象。现在我运行 bash 命令来列出我的图像。
- bash: docker image ls
我可以看到我的图像已构建,但它显示为 '***/myrepository' 。这就是问题所在。
我想使用此映像并运行我新建的 docker 映像以确保运行成功完成
- bash: docker run 'myrepository:$(Build.BuildId)'
Run Code Online (Sandbox Code Playgroud)
我得到的错误是找不到仓库。正如我在图像标签中看到的那样,构建 ID 是正确的。我无法使用 docker run ***/myrepository:$(Build.BuildId) 因为它会抛出格式错误的错误。
[错误]“-t,--tag”标志的参数“***/myrepository:7167”无效:参考格式无效
有没有办法解决这个问题。这是我遵循的正确方法吗?
谢谢你的时间!
当您将 docker 构建任务连接到 ACR 时。docker 镜像将以您的注册表 URI 为前缀。in***是***/myrepository您的加密注册表 URI。
因此,您需要Your_ACR_URI/myrepository:$(Build.BuildId)在 docker run 命令中指定您的映像。请参见下面的示例:
- bash: docker run 'leviacr.azurecr.io/alpinelevi:$(Build.BuildId)'
| 归档时间: |
|
| 查看次数: |
3974 次 |
| 最近记录: |