Поделиться через


определение job.job.container

Задания контейнеров позволяют запускать задания в контейнере вместо узла агента.

Определения, ссылающиеся на это определение: конвейер, jobs.job, jobs.deployment

Реализации

Внедрение Описание
контейнер : строка Укажите контейнер заданий по псевдониму.
контейнер : образ Укажите контейнер заданий с помощью тега изображения и параметров.

контейнер: строка

Укажите контейнер заданий по псевдониму.

container: string # Specify job container by alias.

строка container.

Укажите контейнер заданий по псевдониму.

Замечания

Псевдоним может быть именем изображения или ссылкой на ресурс контейнера.

Примеры

В следующем примере извлекается образ ubuntu с тегом 18.04 из Docker Hub, а затем запускает контейнер. Когда выполняется команда printenv, она выполняется внутри контейнера ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

контейнер: изображение

Укажите контейнер заданий с помощью тега изображения и параметров.

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.

Свойства

строка image. Обязательное.
тег образа контейнера .

строка endpoint.
идентификатор конечной точки службы, подключающейся к частному реестру контейнеров.

env словарь строк.
Переменные для сопоставления с средой контейнера.

mapDockerSocket логические.
Задайте для этого флага значение false, чтобы агент не настраивал том /var/run/docker.sock в заданиях контейнера.

строка options.
Параметры для передачи в узел контейнера.

ports строковый список.
порты для предоставления в контейнере.

volumes строковый список.
тома для подключения к контейнеру.

mountReadOnly mountReadOnly.
тома для подключения только для чтения значение по умолчанию равно false.

контейнер: изображение

Укажите контейнер заданий с помощью тега изображения и параметров.

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.

Свойства

строка image. Обязательное.
тег образа контейнера .

строка endpoint.
идентификатор конечной точки службы, подключающейся к частному реестру контейнеров.

env словарь строк.
Переменные для сопоставления с средой контейнера.

mapDockerSocket логические.
Задайте для этого флага значение false, чтобы агент не настраивал том /var/run/docker.sock в заданиях контейнера.

строка options.
Параметры для передачи в узел контейнера.

ports строковый список.
порты для предоставления в контейнере.

volumes строковый список.
тома для подключения к контейнеру.

Примеры

Используйте options для настройки запуска контейнера.

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

steps:
- script: echo hello

В следующем примере контейнеры определены в разделе ресурсов. Затем каждый контейнер ссылается позже, ссылаясь на его назначенный псевдоним.

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

См. также