tha*_*ane 5 azure docker azure-pipelines
Azure 文档 ( https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/docker?view=azure-devops ) 没有指定如何在 Azure 管道中运行 docker 容器。我们可以使用 Docker@2 任务来构建/推送 docker 镜像,但它没有运行容器的命令。通过查看旧版本 Docker 任务的源代码,我可以看到有一个运行命令,但现在已弃用,并且找不到任何文档。
我还遵循了文档:https :
//docs.microsoft.com/en-us/azure/devops/pipelines/process/container-phases?view = azure-devops 使用以下 yaml 我能够提取一个 docker 图像之前推送到 ACR。(my-acr
是我通过项目设置添加的服务连接)
pool:
vmImage: 'ubuntu-16.04'
container:
image: somerepo/rnd-hello:latest
endpoint: my-acr
steps:
- script: printenv
Run Code Online (Sandbox Code Playgroud)
但我无法让容器运行。
显然,问题中提到的配置将拉取映像并printenv
在容器内运行步骤(在本例中为脚本中的命令)。临时工作目录将自动挂载,并在该目录中运行。但是,这不会运行容器本身。(CMD
Dockerfile 中定义的命令不会被执行)
为了运行容器本身,我们必须使用Docker@2
内置任务登录到 docker 注册表,然后手动将其docker run
作为脚本执行。这是一个例子,
trigger: none
jobs:
- job: RunTest
workspace:
clean: all
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Docker@2
displayName: Login to ACR
inputs:
command: login
containerRegistry: my-acr
- script: |
docker run my-registry.azurecr.io/somerepo/rnd-hello:latest
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9361 次 |
最近记录: |