Azure DevOps 本地缓存容器作业
Azure DevOps locally cached container job
我正在尝试 运行 container job 运行 在本地构建和缓存的 Docker 图像(来自 Docker 文件)中从注册表中提取图像。根据我目前的测试,代理只尝试从注册表中提取图像,而不是在本地搜索图像。我知道没有记录此功能,但我想知道是否有办法让它发挥作用。
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'
恐怕暂时没有找到本地缓存图像和运行容器作业的方法。
来自the documentation你提到:
Containers can be hosted on registries other than Docker Hub. To host an image on Azure Container Registry or another private container registry
如果您在 YAML 文件中定义容器,它会默认从 docker 中心提取图像。
或者您可以添加端点字段以指定其他注册表(例如 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 上添加对此功能的请求,这是我们提供产品建议的主要论坛。
我正在尝试 运行 container job 运行 在本地构建和缓存的 Docker 图像(来自 Docker 文件)中从注册表中提取图像。根据我目前的测试,代理只尝试从注册表中提取图像,而不是在本地搜索图像。我知道没有记录此功能,但我想知道是否有办法让它发挥作用。
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'
恐怕暂时没有找到本地缓存图像和运行容器作业的方法。
来自the documentation你提到:
Containers can be hosted on registries other than Docker Hub. To host an image on Azure Container Registry or another private container registry
如果您在 YAML 文件中定义容器,它会默认从 docker 中心提取图像。
或者您可以添加端点字段以指定其他注册表(例如 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 上添加对此功能的请求,这是我们提供产品建议的主要论坛。