definizione di 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

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

Implementazioni

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

contenitore: stringa

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.

Commenti

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

Esempio

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

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

contenitore: immagine

Specificare il contenitore di processi usando tag di 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 stringa.
Variabili da mappare nell'ambiente del contenitore.

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

options Stringa.
Opzioni da passare all'host del contenitore.

ports elenco di stringhe.
Porte da esporre nel contenitore.

volumes elenco di stringhe.
Volumi da montare nel contenitore.

mountReadOnlymountReadOnly.
I volumi da montare in sola lettura, il valore predefinito è tutto false.

contenitore: immagine

Specificare il contenitore di processi usando tag di 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 stringa.
Variabili da mappare nell'ambiente del contenitore.

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

options Stringa.
Opzioni da passare all'host del contenitore.

ports elenco di stringhe.
Porte da esporre nel contenitore.

volumes elenco di stringhe.
Volumi da montare nel contenitore.

contenitore: immagine

Specificare il contenitore di processi usando tag di 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
  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 stringa.
Variabili da mappare nell'ambiente del contenitore.

options Stringa.
Opzioni da passare all'host del contenitore.

ports elenco di stringhe.
Porte da esporre nel contenitore.

volumes elenco di stringhe.
Volumi da montare nel contenitore.

Esempio

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

Vedi anche