Compartir a través de


definición de jobs.job.container

Los trabajos de contenedor permiten ejecutar trabajos en un contenedor en lugar del host del agente.

Definiciones que hacen referencia a esta definición: canalización, jobs.job, jobs.deployment

Definiciones que hacen referencia a esta definición: canalización, jobs.job

Implementaciones

Implementación Descripción
container: string Especifique el contenedor de trabajos por alias.
container: image Especifique el contenedor de trabajos mediante la etiqueta de imagen y las opciones.

container: string

Especifique el contenedor de trabajos por alias.

container: string # Specify job container by alias.

container Cadena.

Especifique el contenedor de trabajos por alias.

Observaciones

El alias puede ser el nombre de una imagen o puede ser una referencia a un recurso de contenedor.

Ejemplos

En el ejemplo siguiente se captura la imagen de Ubuntu etiquetada 18.04 de Docker Hub y, a continuación, se inicia el contenedor. Cuando se ejecuta el printenv comando, se produce dentro del contenedor ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

container: image

Especifique el contenedor de trabajos mediante la etiqueta de imagen y las opciones.

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.

Propiedades

image Cadena. Necesario.
Etiqueta de imagen de contenedor.

endpoint Cadena.
Identificador del punto de conexión de servicio que se conecta a un registro de contenedor privado.

env diccionario de cadenas.
Variables que se van a asignar al entorno del contenedor.

mapDockerSocketbooleano.
Establezca esta marca en false para forzar que el agente no configure el volumen /var/run/docker.sock en los trabajos de contenedor.

options Cadena.
Opciones para pasar al host de contenedor.

ports lista de cadenas.
Puertos que se exponen en el contenedor.

volumes lista de cadenas.
Volúmenes que se van a montar en el contenedor.

mountReadOnlymountReadOnly.
Los volúmenes para montar solo lectura, el valor predeterminado es false.

container: image

Especifique el contenedor de trabajos mediante la etiqueta de imagen y las opciones.

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.

Propiedades

image Cadena. Necesario.
Etiqueta de imagen de contenedor.

endpoint Cadena.
Identificador del punto de conexión de servicio que se conecta a un registro de contenedor privado.

env diccionario de cadenas.
Variables que se van a asignar al entorno del contenedor.

mapDockerSocketbooleano.
Establezca esta marca en false para forzar que el agente no configure el volumen /var/run/docker.sock en los trabajos de contenedor.

options Cadena.
Opciones para pasar al host de contenedor.

ports lista de cadenas.
Puertos que se exponen en el contenedor.

volumes lista de cadenas.
Volúmenes que se van a montar en el contenedor.

container: image

Especifique el contenedor de trabajos mediante la etiqueta de imagen y las opciones.

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.

Propiedades

image Cadena. Necesario.
Etiqueta de imagen de contenedor.

endpoint Cadena.
Identificador del punto de conexión de servicio que se conecta a un registro de contenedor privado.

env diccionario de cadenas.
Variables que se van a asignar al entorno del contenedor.

options Cadena.
Opciones para pasar al host de contenedor.

ports lista de cadenas.
Puertos que se exponen en el contenedor.

volumes lista de cadenas.
Volúmenes que se van a montar en el contenedor.

Ejemplos

Use options para configurar el inicio del contenedor.

container:
  image: ubuntu:18.04
  options: --hostname container-test --ip 192.168.0.1

steps:
- script: echo hello

En el ejemplo siguiente, los contenedores se definen en la sección de recursos. Luego, se hace referencia a cada contenedor más adelante, con una referencia a su alias asignado.

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

Consulte también