Compartir vía


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

Implementaciones

Implementación Descripción
contenedor de : cadena Especifique el contenedor de trabajos por alias.
contenedor de : de imagen 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 de .

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 comando printenv, se produce dentro del contenedor ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

contenedor: imagen

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. Obligatorio.
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.

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

options cadena.
Opciones para pasar al host de contenedor.

ports lista de cadenas.
Puertos que se van a exponer en el contenedor.

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

mountReadOnly mountReadOnly.
Volúmenes para montar solo lectura, el valor predeterminado es false.

contenedor: imagen

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. Obligatorio.
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.

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

options cadena.
Opciones para pasar al host de contenedor.

ports lista de cadenas.
Puertos que se van a exponer 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. A continuación, se hace referencia a cada contenedor más adelante, haciendo 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