resources.containers.container definition

A container resource references a container image.

containers:
- container: string # Required as first property. Alias of the container.
  image: string # Required. Container image tag.
  type: string # Type of the registry like ACR or GCR.
  trigger: trigger | none | true # Specify none to disable, true to trigger on all image tags, or use the full syntax as described in the following examples.
  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.
  azureSubscription: string # Azure subscription (ARM service connection) for container registry.
  resourceGroup: string # Resource group for your ACR.
  registry: string # Registry for container images.
  repository: string # Name of the container image repository in ACR.
  localImage: boolean # When true, uses a locally tagged image instead of using docker pull to get the image. The default is false.
containers:
- container: string # Required as first property. Alias of the container.
  type: string # Type of the registry like ACR or GCR.
  endpoint: string # ID of the service endpoint connecting to a private container registry.
  trigger: trigger | none | true # Specify none to disable, true to trigger on all image tags, or use the full syntax as described in the following examples.
  azureSubscription: string # Azure subscription (ARM service connection) for container registry.
  resourceGroup: string # Resource group for your ACR.
  registry: string # Registry for container images.
  repository: string # Name of the container image repository in ACR.
  localImage: boolean # When true, uses a locally tagged image instead of using docker pull to get the image. The default is false.
containers:
- container: string # Required as first property. Alias of the container.
  endpoint: string # ID of the service endpoint connecting to a private container registry.
  azureSubscription: string # Azure subscription (ARM service connection) for container registry.
  resourceGroup: string # Resource group for your ACR.
  registry: string # Registry for container images.
  repository: string # Name of the container image repository in ACR.
  localImage: boolean # When true, uses a locally tagged image instead of using docker pull to get the image. The default is false.

Definitions that reference this definition: resources.containers

Properties

container string. Required as first property.
ID for the container. Acceptable values: [-_A-Za-z0-9]*.

image string. Required.
Container image tag.

type string.
Type of the registry like ACR or GCR.

trigger resources.containers.container.trigger.
Specify none to disable, true to trigger on all image tags, or use the full syntax as described in the following examples.

endpoint string.
ID of the service endpoint connecting to a private container registry. Template expressions are supported.

endpoint string.
ID of the service endpoint connecting to a private container registry.

env string dictionary.
Variables to map into the container's environment.

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. Template expressions are supported.

options string.
Options to pass into container host.

ports string list.
Ports to expose on the container. Template expressions are supported.

ports string list.
Ports to expose on the container.

volumes string list.
Volumes to mount on the container. Template expressions are supported.

volumes string list.
Volumes to mount on the container.

mountReadOnly mountReadOnly.
Volumes to mount read-only, the default is all false.

azureSubscription string.
Azure subscription (ARM service connection) for container registry.

resourceGroup string.
Resource group for your ACR.

registry string.
Registry for container images.

repository string.
Name of the container image repository in ACR.

localImage boolean.
When true, uses a locally tagged image instead of using docker pull to get the image. The default is false.

This property is useful only for self-hosted agents where the image is already present on the agent machine.

Remarks

Container jobs let you isolate your tools and dependencies inside a container.

The agent launches an instance of your specified container then runs steps inside it. The container keyword lets you specify your container images.

Service containers run alongside a job to provide various dependencies like databases.

Template expressions are supported for endpoint, volumes, ports, and options properties of a container resource in a YAML pipeline.

Examples

resources:
  containers:
  - container: linux
    image: ubuntu:16.04
  - container: windows
    image: myprivate.azurecr.io/windowsservercore:1803
    endpoint: my_acr_connection
  - container: my_service
    image: my_service:tag
    ports:
    - 8080:80 # bind container port 80 to 8080 on the host machine
    - 6379 # bind container port 6379 to a random available port on the host machine
    volumes:
    - /src/dir:/dst/dir # mount /src/dir on the host into /dst/dir in the container

See also

Define resources in YAML