Azure DevOps本地缓存的容器作业

时间:2020-11-02 14:44:26

标签: azure-devops azure-devops-pipelines

我试图运行container job,而不是从注册表中提取图像,该{{3}}在本地构建和缓存的Docker映像(来自Dockerfile)中运行。根据到目前为止的测试,该代理仅尝试从注册表中提取图像,而不在本地搜索图像。我知道此功能尚未记录,但是我想知道是否有一种方法可以使它起作用。

stages:
- stage: Build 
  jobs:
  - job: Docker
    steps:
    - script: |
        docker build -t builder:0.1 .
      displayName: 'Build Docker'
  
  - job: GCC
    dependsOn: Build
    container: builder:0.1
    steps:
    - script: |
        cd src
        make
      displayName: 'Run GCC'

1 个答案:

答案 0 :(得分:0)

恐怕暂时无法找到本地缓存的图像并对其运行容器作业。

您在the documentation中提到:

容器可以托管在Docker Hub以外的其他注册表中。在Azure容器注册表或其他私有容器注册表上托管映像

如果您在YAML文件中定义了一个容器,则默认情况下它将从docker hub提取图像。

或者您可以添加终结点字段以指定其他注册表(例如Azure Container Registry)。

这是容器的定义:

container:
  image: string  # container image name
  options: string  # arguments to pass to container at startup
  endpoint: string  # endpoint for a private container registry
  env: { string: string }  # list of environment variables to add

这意味着容器作业将直接从注册表中提取图像,并且无法搜索本地缓存。

但是这个要求很有价值。

您可以在our UserVoice site(这是我们提供产品建议的主要论坛)上添加对此功能的请求。