1

我正在尝试运行在本地构建和缓存的 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'
4

1 回答 1

1

恐怕暂时没有这种方法可以找到本地缓存的图像并在其上运行容器作业。

从您提到的文档中:</p>

容器可以托管在 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

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

但这个要求很有价值。

您可以在我们的 UserVoice 网站上添加您对该功能的请求,这是我们产品建议的主要论坛。

于 2020-11-03T02:30:34.183 回答