jobs.job.container 定义
容器作业允许在容器而不是代理主机上运行作业。
引用此定义的定义: pipeline、 jobs.job、 jobs.deployment
实现形式
实现 | 描述 |
---|---|
container: string | 按别名指定作业容器。 |
容器:映像 | 使用映像标记和选项指定作业容器。 |
container: string
按别名指定作业容器。
container: string # Specify job container by alias.
container
字符串。
按别名指定作业容器。
备注
别名可以是映像的名称,也可以是对 容器资源的引用。
示例
以下示例从 Docker Hub 提取标记为 18.04 的 ubuntu 映像,然后启动容器。 printenv
当命令运行时,它会在 ubuntu:18.04 容器内发生。
pool:
vmImage: 'ubuntu-18.04'
container: ubuntu:18.04
steps:
- script: printenv
容器:映像
使用映像标记和选项指定作业容器。
container:
image: string # Required. Container image tag.
endpoint: string # ID of the service endpoint connecting to a private container registry.
env: # Variables to map into the container's environment.
string: string # Name/value pairs
mapDockerSocket: boolean # Set this flag to false to force the agent not to setup the /var/run/docker.sock volume on container jobs.
options: string # Options to pass into container host.
ports: [ string ] # Ports to expose on the container.
volumes: [ string ] # Volumes to mount on the container.
mountReadOnly: # Volumes to mount read-only, the default is all false.
work: boolean # Mount the work directory as readonly.
externals: boolean # Mount the externals directory as readonly.
tools: boolean # Mount the tools directory as readonly.
tasks: boolean # Mount the tasks directory as readonly.
属性
image
字符串。 必需。
容器映像标记。
endpoint
字符串。
连接到专用容器注册表的服务终结点的 ID。
env
字符串字典。
要映射到容器环境的变量。
mapDockerSocket
布尔值。
将此标志设置为 false 以强制代理不在容器作业上设置 /var/run/docker.sock 卷。
options
字符串。
用于传入容器主机的选项。
ports
字符串列表。
要对容器公开的端口。
volumes
字符串列表。
要装载到容器上的卷。
mountReadOnly
mountReadOnly。
要装载只读的卷,默认值为 false。
容器:映像
使用映像标记和选项指定作业容器。
container:
image: string # Required. Container image tag.
endpoint: string # ID of the service endpoint connecting to a private container registry.
env: # Variables to map into the container's environment.
string: string # Name/value pairs
mapDockerSocket: boolean # Set this flag to false to force the agent not to setup the /var/run/docker.sock volume on container jobs.
options: string # Options to pass into container host.
ports: [ string ] # Ports to expose on the container.
volumes: [ string ] # Volumes to mount on the container.
属性
image
字符串。 必需。
容器映像标记。
endpoint
字符串。
连接到专用容器注册表的服务终结点的 ID。
env
字符串字典。
要映射到容器环境的变量。
mapDockerSocket
布尔值。
将此标志设置为 false 以强制代理不在容器作业上设置 /var/run/docker.sock 卷。
options
字符串。
用于传入容器主机的选项。
ports
字符串列表。
要对容器公开的端口。
volumes
字符串列表。
要装载到容器上的卷。
容器:映像
使用映像标记和选项指定作业容器。
container:
image: string # Required. Container image tag.
endpoint: string # ID of the service endpoint connecting to a private container registry.
env: # Variables to map into the container's environment.
string: string # Name/value pairs
options: string # Options to pass into container host.
ports: [ string ] # Ports to expose on the container.
volumes: [ string ] # Volumes to mount on the container.
属性
image
字符串。 必需。
容器映像标记。
endpoint
字符串。
连接到专用容器注册表的服务终结点的 ID。
env
字符串字典。
要映射到容器环境的变量。
options
字符串。
用于传入容器主机的选项。
ports
字符串列表。
要对容器公开的端口。
volumes
字符串列表。
要装载到容器上的卷。
示例
使用 options
配置容器启动。
container:
image: ubuntu:18.04
options: --hostname container-test --ip 192.168.0.1
steps:
- script: echo hello
在以下示例中,容器在“资源”部分中进行定义。 稍后通过引用其分配的别名来引用每个容器。
resources:
containers:
- container: u14
image: ubuntu:14.04
- container: u16
image: ubuntu:16.04
- container: u18
image: ubuntu:18.04
jobs:
- job: RunInContainer
pool:
vmImage: 'ubuntu-18.04'
strategy:
matrix:
ubuntu14:
containerResource: u14
ubuntu16:
containerResource: u16
ubuntu18:
containerResource: u18
container: $[ variables['containerResource'] ]
steps:
- script: printenv