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


Docker@1 — задача Docker версии 1

Создание, добавление тегов, отправка или запуск образов Docker или выполнение команды Docker. Используйте эту задачу с Docker или реестром контейнеров Azure.

Примечание.

Docker@2 — это более новая версия этой задачи, которая упрощает задачу путем удаления входных данных, которые можно передать в качестве аргументов в команду.

Синтаксис

# Docker v1
# Build, tag, push, or run Docker images, or run a Docker command.
- task: Docker@1
  inputs:
  # Container Registry
    #containerregistrytype: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when containerregistrytype = Container Registry && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpoint: # string. Optional. Use when containerregistrytype = Azure Container Registry && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when containerregistrytype = Azure Container Registry && command != logout. Azure container registry. 
  # Commands
    #addBaseImageData: true # boolean. Add base image metadata to image(s). Default: true.
    command: 'Build an image' # 'Build an image' | 'Tag image' | 'Push an image' | 'Run an image' | 'login' | 'logout'. Required. Command. Default: Build an image.
    #dockerFile: '**/Dockerfile' # string. Required when command = Build an image || command = build. Dockerfile. Default: **/Dockerfile.
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
    #pushMultipleImages: false # boolean. Optional. Use when command = Push an image || command = push. Push multiple images. Default: false.
    #tagMultipleImages: false # boolean. Optional. Use when command = Tag image || command = tag. Tag multiple images. Default: false.
    #imageName: '$(Build.Repository.Name):$(Build.BuildId)' # string. Required when command = Build an image || command = build || command = Run an image || command = run || pushMultipleImages = false || tagMultipleImages = false. Image name. Default: $(Build.Repository.Name):$(Build.BuildId).
    #imageNamesPath: # string. Required when tagMultipleImages = true || pushMultipleImages = true. Image names path. 
    #qualifyImageName: true # boolean. Optional. Use when command = Build an image || command = build || command = Tag image || command = tag || command = Push an image || command = push || command = Run an image || command = run. Qualify image name. Default: true.
    #qualifySourceImageName: false # boolean. Optional. Use when command = Tag image || command = tag. Qualify source image name. Default: false.
    #includeSourceTags: false # boolean. Optional. Use when command = Build an image || command = build || command = Tag image || command = tag  || command = Push an image || command = push. Include source tags. Default: false.
    #includeLatestTag: false # boolean. Optional. Use when command = Build an image || command = build. Include latest tag. Default: false.
    #addDefaultLabels: true # boolean. Optional. Use when addDefaultLabels = false. Add default labels. Default: true.
    #useDefaultContext: true # boolean. Optional. Use when command = Build an image || command = build. Use default build context. Default: true.
    #buildContext: # string. Optional. Use when useDefaultContext = false. Build context. 
    #imageDigestFile: # string. Optional. Use when command = Push an image || command = push. Image digest file. 
    #containerName: # string. Optional. Use when command = Run an image || command = run. Container name. 
    #ports: # string. Optional. Use when command = Run an image || command = run. Ports. 
    #volumes: # string. Optional. Use when command = Run an image || command = run. Volumes. 
    #envVars: # string. Optional. Use when command = Run an image || command = run. Environment variables. 
    #workingDirectory: # string. Optional. Use when command = Run an image || command = run. Working directory. 
    #entrypointOverride: # string. Optional. Use when command = Run an image || command = run. Entry point override. 
    #containerCommand: # string. Optional. Use when command = Run an image || command = run. Container command. 
    #runInBackground: true # boolean. Optional. Use when command = Run an image || command = run. Run in background. Default: true.
    restartPolicy: 'no' # 'no' | 'onFailure' | 'always' | 'unlessStopped'. Required when runInBackground = true. Restart policy. Default: no.
    #maxRestartRetries: # string. Optional. Use when runInBackground = true && restartPolicy = onFailure. Maximum restart retries. 
  # Advanced Options
    #dockerHostEndpoint: # string. Optional. Use when command != login && command != logout. Docker host service connection. 
    #enforceDockerNamingConvention: true # boolean. Optional. Use when command != login && command != logout. Force image name to follow Docker naming convention. Default: true.
    #memoryLimit: # string. Optional. Use when command != login && command != logout. Memory limit.
# Docker v1
# Build, tag, push, or run Docker images, or run a Docker command.
- task: Docker@1
  inputs:
  # Container Registry
    #containerregistrytype: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required when command != logout. Container registry type. Default: Azure Container Registry.
    #dockerRegistryEndpoint: # string. Optional. Use when containerregistrytype = Container Registry && command != logout. Docker registry service connection. 
    #azureSubscriptionEndpoint: # string. Optional. Use when containerregistrytype = Azure Container Registry && command != logout. Azure subscription. 
    #azureContainerRegistry: # string. Optional. Use when containerregistrytype = Azure Container Registry && command != logout. Azure container registry. 
  # Commands
    command: 'Build an image' # 'Build an image' | 'Tag image' | 'Push an image' | 'Run an image' | 'login' | 'logout'. Required. Command. Default: Build an image.
    #dockerFile: '**/Dockerfile' # string. Required when command = Build an image || command = build. Dockerfile. Default: **/Dockerfile.
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
    #pushMultipleImages: false # boolean. Optional. Use when command = Push an image || command = push. Push multiple images. Default: false.
    #tagMultipleImages: false # boolean. Optional. Use when command = Tag image || command = tag. Tag multiple images. Default: false.
    #imageName: '$(Build.Repository.Name):$(Build.BuildId)' # string. Required when command = Build an image || command = build || command = Run an image || command = run || pushMultipleImages = false || tagMultipleImages = false. Image name. Default: $(Build.Repository.Name):$(Build.BuildId).
    #imageNamesPath: # string. Required when tagMultipleImages = true || pushMultipleImages = true. Image names path. 
    #qualifyImageName: true # boolean. Optional. Use when command = Build an image || command = build || command = Tag image || command = tag || command = Push an image || command = push || command = Run an image || command = run. Qualify image name. Default: true.
    #qualifySourceImageName: false # boolean. Optional. Use when command = Tag image || command = tag. Qualify source image name. Default: false.
    #includeSourceTags: false # boolean. Optional. Use when command = Build an image || command = build || command = Tag image || command = tag  || command = Push an image || command = push. Include source tags. Default: false.
    #includeLatestTag: false # boolean. Optional. Use when command = Build an image || command = build. Include latest tag. Default: false.
    #addDefaultLabels: true # boolean. Optional. Use when addDefaultLabels = false. Add default labels. Default: true.
    #useDefaultContext: true # boolean. Optional. Use when command = Build an image || command = build. Use default build context. Default: true.
    #buildContext: # string. Optional. Use when useDefaultContext = false. Build context. 
    #imageDigestFile: # string. Optional. Use when command = Push an image || command = push. Image digest file. 
    #containerName: # string. Optional. Use when command = Run an image || command = run. Container name. 
    #ports: # string. Optional. Use when command = Run an image || command = run. Ports. 
    #volumes: # string. Optional. Use when command = Run an image || command = run. Volumes. 
    #envVars: # string. Optional. Use when command = Run an image || command = run. Environment variables. 
    #workingDirectory: # string. Optional. Use when command = Run an image || command = run. Working directory. 
    #entrypointOverride: # string. Optional. Use when command = Run an image || command = run. Entry point override. 
    #containerCommand: # string. Optional. Use when command = Run an image || command = run. Container command. 
    #runInBackground: true # boolean. Optional. Use when command = Run an image || command = run. Run in background. Default: true.
    restartPolicy: 'no' # 'no' | 'onFailure' | 'always' | 'unlessStopped'. Required when runInBackground = true. Restart policy. Default: no.
    #maxRestartRetries: # string. Optional. Use when runInBackground = true && restartPolicy = onFailure. Maximum restart retries. 
  # Advanced Options
    #dockerHostEndpoint: # string. Optional. Use when command != login && command != logout. Docker host service connection. 
    #enforceDockerNamingConvention: true # boolean. Optional. Use when command != login && command != logout. Force image name to follow Docker naming convention. Default: true.
    #memoryLimit: # string. Optional. Use when command != login && command != logout. Memory limit.

Входные данные

типа реестра контейнеров containerregistrytype -
string. Требуется, если command != logout. Допустимые значения: Azure Container Registry, Container Registry. Значение по умолчанию: Azure Container Registry.

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


addBaseImageData - Добавление метаданных базового образа в
boolean. Значение по умолчанию: true.

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


dockerRegistryEndpoint - подключение службы реестра Docker
string. Необязательно. Используется при containerregistrytype = Container Registry && command != logout.

Указывает подключение службы реестра Docker. Требуется для команд, прошедших проверку подлинности с помощью реестра.


azureSubscriptionEndpoint - подписке Azure
string. Необязательно. Используется при containerregistrytype = Azure Container Registry && command != logout.

Указывает подписку Azure.


azureContainerRegistry - реестр контейнеров Azure
string. Необязательно. Используется при containerregistrytype = Azure Container Registry && command != logout.

Указывает реестр контейнеров Azure в выбранной подписке Azure. Образ контейнера создается и отправляется в этот реестр контейнеров.


Команда command -
string. Обязательное. Допустимые значения: Build an image (сборка), Tag image (тег), Push an image (push), Run an image (запуск), login, logout. Значение по умолчанию: Build an image.

Указывает команду Docker для выполнения.


dockerFile - Dockerfile
string. Требуется, если command = Build an image || command = build. Значение по умолчанию: **/Dockerfile.

Указывает путь к файлу Docker. Задача использует первый файл docker, который он находит для сборки образа.


arguments - аргументы
string. Необязательно. Используется при command != login && command != logout.

Задает дополнительные аргументы для передачи клиенту Docker. Использование значения buildAndPush в параметре команды игнорирует свойство аргументов.


pushMultipleImages - отправки нескольких изображений
boolean. Необязательно. Используется при command = Push an image || command = push. Значение по умолчанию: false.

Указывает список в текстовом файле образов Docker для отправки. Перечислить имя каждого изображения в формате Imagename1:tag1 в отдельной строке. Перечисление имени изображения без тегов, например Imagename2, отправляет все теги в контейнер Imagename2.


tagMultipleImages - тег нескольких изображений
boolean. Необязательно. Используется при command = Tag image || command = tag. Значение по умолчанию: false.

Указывает список нескольких тегов изображений и образов Docker для тегов в текстовом файле. Перечислить имя каждого изображения в формате Imagename1:tag1 в отдельной строке. Изображения, перечисленные без тега как Imagename2, по умолчанию помечены как последние.


имени образа imageName -
string. Требуется, если command = Build an image || command = build || command = Run an image || command = run || pushMultipleImages = false || tagMultipleImages = false. Значение по умолчанию: $(Build.Repository.Name):$(Build.BuildId).

Задает имя образа Docker для сборки, отправки или запуска.


imageNamesPath - пути имен изображений
string. Требуется, если tagMultipleImages = true || pushMultipleImages = true.

Указывает путь к текстовому файлу, который содержит имена образов Docker для тега или отправки. Перечислить имя каждого изображения в отдельной строке.


qualifyImageName - имя изображения
boolean. Необязательно. Используется при command = Build an image || command = build || command = Tag image || command = tag || command = Push an image || command = push || command = Run an image || command = run. Значение по умолчанию: true.

Указывает имя образа с именем узла подключения службы реестра Docker.


qualifySourceImageName - Имя исходного образа
boolean. Необязательно. Используется при command = Tag image || command = tag. Значение по умолчанию: false.

Указывает имя образа с именем узла подключения службы реестра Docker.


includeSourceTags - Включить исходные теги
boolean. Необязательно. Используется при command = Build an image || command = build || command = Tag image || command = tag || command = Push an image || command = push. Значение по умолчанию: false.

Указывает теги Git для включения при создании или отправке образа Docker.


includeLatestTag - Включить последние тега
boolean. Необязательно. Используется при command = Build an image || command = build. Значение по умолчанию: false.

Указывает, следует ли использовать последний тег при создании образа Docker.


addDefaultLabels - Добавление меток по умолчанию
boolean. Необязательно. Используется при addDefaultLabels = false. Значение по умолчанию: true.

Указывает, следует ли добавлять метаданные CI/CD в образ контейнера с помощью меток Docker, таких как репозиторий, фиксация, сборка и выпуск информации.


useDefaultContext - Использовать контекст сборки по умолчанию
boolean. Необязательно. Используется при command = Build an image || command = build. Значение по умолчанию: true.

Указывает добавление или удаление контекста сборки в каталог, содержащий файл Docker.


buildContext - контекст сборки
string. Необязательно. Используется при useDefaultContext = false.

Указывает путь к контексту сборки.


imageDigestFile - дайджест-файл образа
string. Необязательно. Используется при command = Push an image || command = push.

Указывает путь к созданному файлу и заполнен полному дайджесту репозитория образов образа Docker, который был отправлен.


containerName - имя контейнера
string. Необязательно. Используется при command = Run an image || command = run.

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


Портыports -
string. Необязательно. Используется при command = Run an image || command = run.

Указывает порты в контейнере Docker для публикации на узле. Перечислить каждую host-port:container-port привязку в отдельной строке.


тома volumes -
string. Необязательно. Используется при command = Run an image || command = run.

Указывает тома для подключения с узла. Перечислить каждую host-dir:container-dir в отдельной строке.


переменных среды envVars -
string. Необязательно. Используется при command = Run an image || command = run.

Задает переменные среды для контейнера Docker. Вывод списка каждой пары name=value в отдельной строке.


рабочего каталога workingDirectory -
string. Необязательно. Используется при command = Run an image || command = run.

Указывает рабочий каталог для контейнера Docker.


entrypointOverride - переопределение точки входа
string. Необязательно. Используется при command = Run an image || command = run.

Указывает, следует ли переопределить точку входа по умолчанию для контейнера Docker.


Командаконтейнера containerCommand -
string. Необязательно. Используется при command = Run an image || command = run.

Задает команду запуска Docker. Команда запуска Docker сначала создает слой контейнеров, доступный для записи, над указанным образом, а затем запускает его с помощью указанной команды запуска. Например, если изображение содержит простое веб-приложение Python Flask, можно указать python app.py для запуска веб-приложения.


runInBackground - запуск в фоновом
boolean. Необязательно. Используется при command = Run an image || command = run. Значение по умолчанию: true.

Указывает, следует ли запускать контейнер Docker в фоновом режиме.


restartPolicy - политика перезапуска
string. Требуется, если runInBackground = true. Допустимые значения: no, onFailure (при сбое), always, unlessStopped (если не остановлено). Значение по умолчанию: no.

Указывает, когда следует запускать политику перезапуска.


maxRestartRetries - повторные попытки перезапуска
string. Необязательно. Используется при runInBackground = true && restartPolicy = onFailure.

Указывает максимальное количество повторных попыток перезапуска управляющей программы Docker.


dockerHostEndpoint - подключение службы узла Docker
string. Необязательно. Используется при command != login && command != logout.

Указывает подключение службы узла Docker. По умолчанию используется узел агента.


enforceDockerNamingConvention - Принудительное имя образа для выполнения соглашения об именовании Docker
boolean. Необязательно. Используется при command != login && command != logout. Значение по умолчанию: true.

Значение по умолчанию изменяет имя образа Docker в соответствии с соглашениями об именовании Docker. Например, преобразуйте символы верхнего регистра в нижний регистр и удалите пробелы.


memoryLimit - ограничение памяти
string. Необязательно. Используется при command != login && command != logout.

Указывает максимальный объем памяти, доступный контейнеру в виде целого числа с необязательными суффиксами, такими как 2GB.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Эта задача определяет следующие выходные переменные, которые можно использовать в подчиненных шагах, заданиях и этапах.

DockerOutput
сохраняет выходные данные команды Docker

DockerOutputPath
Путь к файлу, который содержит выходные данные команды сборки.

Эта задача определяет следующие выходные переменные, которые можно использовать в подчиненных шагах, заданиях и этапах.

DockerOutput
сохраняет выходные данные команды Docker

Замечания

Docker@2 — это более новая версия этой задачи, которая упрощает задачу путем удаления входных данных, которые можно передать в качестве аргументов в команду.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента Все поддерживаемые версии агента.
Категория задач Строить

См. также