Udostępnij za pośrednictwem


jobs.job.container definition

Zadania kontenera umożliwiają uruchamianie zadań w kontenerze zamiast hosta agenta.

Definicje odwołujące się do tej definicji: potoku, jobs.job, jobs.deployment

Implementacje

Implementacja Opis
kontener : ciągów Określ kontener zadań według aliasu.
kontener : obrazu Określ kontener zadań przy użyciu tagu obrazu i opcji.

container: string

Określ kontener zadań według aliasu.

container: string # Specify job container by alias.

container ciąg.

Określ kontener zadań według aliasu.

Uwagi

Alias może być nazwą obrazu lub może być odwołaniem do zasobu kontenera .

Przykłady

Poniższy przykład pobiera obraz ubuntu oznaczony tagiem 18.04 z usługi Docker Hub, a następnie uruchamia kontener. Po uruchomieniu polecenia printenv następuje to wewnątrz kontenera ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

kontener: obraz

Określ kontener zadań przy użyciu tagu obrazu i opcji.

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.

Właściwości

image ciąg. To jest wymagane.
tag obrazu kontenera.

endpoint ciąg.
identyfikator punktu końcowego usługi łączącego się z prywatnym rejestrem kontenerów.

env słownik ciągów.
Zmienne do mapowania na środowisko kontenera.

mapDockerSocket wartość logiczna.
Ustaw tę flagę na false, aby wymusić, aby agent nie skonfigurował woluminu /var/run/docker.sock w zadaniach kontenera.

options ciąg.
Opcje przekazywania do hosta kontenera.

lista ciągów ports.
Porty uwidocznić w kontenerze.

lista ciągów volumes.
woluminy do zainstalowania w kontenerze.

mountReadOnly mountReadOnly.
woluminy do zainstalowania tylko do odczytu, wartość domyślna to fałsz.

kontener: obraz

Określ kontener zadań przy użyciu tagu obrazu i opcji.

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.

Właściwości

image ciąg. To jest wymagane.
tag obrazu kontenera.

endpoint ciąg.
identyfikator punktu końcowego usługi łączącego się z prywatnym rejestrem kontenerów.

env słownik ciągów.
Zmienne do mapowania na środowisko kontenera.

mapDockerSocket wartość logiczna.
Ustaw tę flagę na false, aby wymusić, aby agent nie skonfigurował woluminu /var/run/docker.sock w zadaniach kontenera.

options ciąg.
Opcje przekazywania do hosta kontenera.

lista ciągów ports.
Porty uwidocznić w kontenerze.

lista ciągów volumes.
woluminy do zainstalowania w kontenerze.

Przykłady

Konfigurowanie uruchamiania kontenera przy użyciu options.

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

steps:
- script: echo hello

W poniższym przykładzie kontenery są definiowane w sekcji zasobów. Następnie do każdego kontenera odwołuje się później, odwołując się do przypisanego aliasu.

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

Zobacz też