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