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 | Любое |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Строить |