我试图运行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'
答案 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(这是我们提供产品建议的主要论坛)上添加对此功能的请求。