Condividi tramite


Definizione jobs.job.container

I processi contenitore consentono di eseguire processi in un contenitore anziché nell'host dell'agente.

Definizioni che fanno riferimento a questa definizione: pipeline, jobs.job, jobs.deployment

Implementazioni

Implementazione Descrizione
contenitore : stringa Specificare il contenitore di processi in base all'alias.
contenitore : immagine Specificare il contenitore di processi usando tag immagine e opzioni.

container: string

Specificare il contenitore di processi in base all'alias.

container: string # Specify job container by alias.

container stringa.

Specificare il contenitore di processi in base all'alias.

Osservazioni:

L'alias può essere il nome di un'immagine oppure può essere un riferimento a una risorsa contenitore .

Esempi

L'esempio seguente recupera l'immagine ubuntu contrassegnata con tag 18.04 da hub Docker e quindi avvia il contenitore. Quando viene eseguito il comando printenv, si verifica all'interno del contenitore ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

container: image

Specificare il contenitore di processi usando tag immagine e opzioni.

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.

Proprietà

image stringa. Obbligatorio.
tag immagine contenitore.

endpoint stringa.
ID dell'endpoint di servizio che si connette a un registro contenitori privato.

env dizionario di stringhe.
Variabili di cui eseguire il mapping nell'ambiente del contenitore.

mapDockerSocket booleano .
Impostare questo flag su false per forzare l'agente a non configurare il volume /var/run/docker.sock nei processi contenitore.

options stringa.
Opzioni da passare all'host contenitore.

ports elenco di stringhe.
Porte da esporre nel contenitore.

volumes elenco di stringhe.
Volumi da montare nel contenitore.

mountReadOnly mountReadOnly.
Volumi per montare di sola lettura, il valore predefinito è false.

container: image

Specificare il contenitore di processi usando tag immagine e opzioni.

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.

Proprietà

image stringa. Obbligatorio.
tag immagine contenitore.

endpoint stringa.
ID dell'endpoint di servizio che si connette a un registro contenitori privato.

env dizionario di stringhe.
Variabili di cui eseguire il mapping nell'ambiente del contenitore.

mapDockerSocket booleano .
Impostare questo flag su false per forzare l'agente a non configurare il volume /var/run/docker.sock nei processi contenitore.

options stringa.
Opzioni da passare all'host contenitore.

ports elenco di stringhe.
Porte da esporre nel contenitore.

volumes elenco di stringhe.
Volumi da montare nel contenitore.

Esempi

Usare options per configurare l'avvio del contenitore.

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

steps:
- script: echo hello

Nell'esempio seguente i contenitori vengono definiti nella sezione resources. Ogni contenitore viene quindi fatto riferimento in un secondo momento, facendo riferimento al relativo alias assegnato.

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

Vedere anche