community.docker.docker_image модуль — Управление образами Docker
Примечание
Этот модуль является частью коллекции community.docker (версия 3.13.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.docker. Для использования этого модуля потребуются дополнительные требования, см. Требования для получения подробностей.
Чтобы использовать его в книге задач, укажите: community.docker.docker_image.
Описание
- Создать, загрузить или скачать образ, сделав его доступным для создания контейнеров. Также поддерживает назначение тега образу, публикацию образа и архивирование образа в файл
.tar.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- Docker API >= 1.25
- backports.ssl_match_hostname (при использовании TLS в Python 2)
- paramiko (при использовании SSH с
use_ssh_client=false) - pyOpenSSL (при использовании TLS)
- pywin32 (при использовании именованных каналов в Windows 32)
- requests
Параметры
Параметр | Комментарии |
|---|---|
api_version aliases: docker_api_version string | Версия Docker API, работающего на Docker Host. По умолчанию используется последняя версия API, поддерживаемая этой коллекцией и демоном docker. Если значение не указано в задаче, вместо него будет использовано значение переменной среды Default: |
archive_path path | Используется с |
build dictionary | Указывает параметры, используемые для сборки образов. |
|
args dictionary |
Предоставьте словарь аргументов сборки Docker ожидает, что значение будет строкой. Для удобства любые нестроковые значения будут преобразованы в строки. |
|
cache_from list / elements=string |
Список имен образов, которые следует рассматривать как источник кэша. |
|
container_limits dictionary |
Словарь ограничений, применяемых к каждому контейнеру, созданному в процессе сборки. |
|
cpusetcpus string |
Процессоры, на которых разрешено выполнение. Например, |
|
integer |
Доля процессора (относительный вес). |
|
memory string |
Ограничение памяти для сборки в формате Без указания единицы измерения по умолчанию используются байты. До community.docker 3.6.0 единицы измерения не допускались. |
|
memswap string |
Общее ограничение памяти (память + своп) для сборки в формате Без указания единицы измерения по умолчанию используются байты. До community.docker 3.6.0 единицы измерения не допускались, как и специальное значение |
|
dockerfile string |
Используется с Это может также включать относительный путь (относительно |
|
etc_hosts dictionary |
Дополнительные хосты для добавления в Вместо IP-адреса можно также использовать специальное значение |
|
http_timeout integer |
Таймаут для HTTP-запросов во время операции сборки образа. Укажите положительное целое число для количества секунд. |
|
labels dictionary added in community.docker 3.6.0 |
Словарь пар «ключ-значение». |
|
network string |
Сеть, которая будет использоваться для инструкций сборки |
|
nocache boolean |
Не использовать кэш при сборке образа. Choices:
|
|
path path / required |
Используется с состоянием ‘present’ для сборки образа. Будет путем к каталогу, содержащему контекст и Dockerfile для сборки образа. |
|
platform string added in community.docker 1.1.0 |
Платформа в формате |
|
pull boolean |
При сборке образа загружает любые обновления образа FROM в Dockerfile. Choices:
|
|
rm boolean |
Удалить промежуточные контейнеры после сборки. Варианты:
|
|
shm_size string добавлен в community.docker 3.6.0 |
Размер Пропуск единицы измерения по умолчанию означает байты. Если размер опущен полностью, Docker-демон использует |
|
target string |
При сборке изображения указывает промежуточную стадию сборки по имени как конечную стадию для результирующего изображения. |
|
use_config_proxy boolean |
Если установлено Варианты:
|
ca_path aliases: ca_cert, tls_ca_cert, cacert_path path | Использование сертификата центра сертификации при проверке сервера путем указания пути к файлу сертификата центра сертификации. Если значение не указано в задании, и переменная среды Этот параметр назывался |
client_cert aliases: tls_client_cert, cert_path path | Путь к файлу TLS-сертификата клиента. Если значение не указано в задании, и переменная среды |
client_key aliases: tls_client_key, key_path path | Путь к файлу TLS-ключа клиента. Если значение не указано в задании, и переменная среды |
debug boolean | Режим отладки Варианты:
|
docker_host aliases: docker_url string | URL или путь к Unix-сокету, используемый для подключения к API Docker. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, Если значение не указано в задании, будет использовано значение переменной среды По умолчанию: |
force_absent boolean | Использовать с Варианты:
|
force_source boolean | Использовать с Варианты:
|
force_tag boolean | Использовать с Варианты:
|
load_path path | Использовать с Установите |
name string / обязательно | Имя изображения. Формат имени будет одним из: Обратите внимание, что идентификаторы изображений (хеши) поддерживаются только для |
pull словарь добавлено в community.docker 1.3.0 | Указывает параметры, используемые для загрузки изображений. |
|
platform строка |
При загрузке изображения запрашивается этот конкретный платформенный профиль. Обратите внимание, что это значение не используется для определения необходимости загрузки изображения. Возможно, это изменится в будущем в рамках мажорного выпуска. |
push булево | Опубликовать изображение в реестре. Укажите реестр в параметре Варианты:
|
repository строка | Используется с Ожидается формат Если |
source строка | Определяет, откуда модуль попытается извлечь изображение. Используйте Используйте Используйте Используйте Варианты:
|
ssl_version строка | Укажите допустимый номер версии SSL. Значение по умолчанию определяется модулем SSL Python. Если значение не указано в задаче, будет использовано значение переменной окружения |
state строка | Утверждения о состоянии изображения. При значении При значении Варианты:
|
tag строка | |
timeout целое число | Максимальное время ожидания ответа от API в секундах. Если значение не указано в задаче, будет использовано значение переменной окружения По умолчанию: |
tls булево | Защитить подключение к API с помощью TLS без проверки подлинности сервера Docker. Обратите внимание, что если Если значение не указано в задаче, будет использовано значение переменной окружения Варианты:
|
tls_hostname строка | При проверке подлинности сервера Docker укажите ожидаемое имя сервера. Если значение не указано в задаче, будет использовано значение переменной окружения Обратите внимание, что этот параметр имел значение по умолчанию |
use_ssh_client булево добавлено в community.docker 1.5.0 | Для SSH-транспортов используйте инструмент Варианты:
|
validate_certs aliases: tls_verify булево | Защитить подключение к API с помощью TLS и проверять подлинность сервера Docker. Если значение не указано в задаче, будет использовано значение переменной окружения Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.docker.docker, docker | Используйте |
check_mode | Поддержка: частичная При попытке извлечения изображения, модуль предполагает, что это всегда изменяется в режиме проверки. | Может выполняться в режиме |
diff_mode | Поддержка: отсутствует | В режиме сравнения будет возвращена информация о том, что изменилось (или, возможно, нуждается в изменении в |
Примечания
Примечание
- Создание изображений выполняется с помощью API демона Docker. Использование BuildKit / buildx таким образом невозможно. Используйте community.docker.docker_image_build для создания изображений с помощью BuildKit.
- Подключение к демону Docker, предоставляя параметры с каждой задачей или определяя переменные окружения. Вы можете определить
DOCKER_HOST,DOCKER_TLS_HOSTNAME,DOCKER_API_VERSION,DOCKER_CERT_PATH,DOCKER_SSL_VERSION,DOCKER_TLS,DOCKER_TLS_VERIFYиDOCKER_TIMEOUT. Если вы используете docker machine, запустите скрипт, поставляемый с продуктом, который настраивает среду. Он установит эти переменные за вас. Для получения дополнительной информации см. https://docs.docker.com/machine/reference/env/. - Этот модуль не использует Docker SDK for Python для взаимодействия с демоном Docker. Он использует код, полученный из Docker SDK или Python, который включен в эту коллекцию.
См. также
См. также
- community.docker.docker_image_build
-
Создание Docker образов с использованием Docker buildx.
- community.docker.docker_image_export
-
Экспорт (архивирование) Docker образов.
- community.docker.docker_image_info
-
Просмотр информации о docker образах.
- community.docker.docker_image_load
-
Загрузка docker образа(ов) из архивов.
- community.docker.docker_image_pull
-
Загрузка Docker образов из репозиториев.
- community.docker.docker_image_push
-
Загрузка Docker образов в репозитории.
- community.docker.docker_image_remove
-
Удаление Docker образов.
- community.docker.docker_image_tag
-
Добавление тегов к Docker образам с новыми именами и/или тегами.
Примеры
- name: Pull an image
community.docker.docker_image:
name: pacur/centos-7
source: pull
# Select platform for pulling. If not specified, will pull whatever docker prefers.
pull:
platform: amd64
- name: Tag and push to docker hub
community.docker.docker_image:
name: pacur/centos-7:56
repository: dcoppenhagan/myimage:7.56
push: true
source: local
- name: Tag and push to local registry
community.docker.docker_image:
# Image will be centos:7
name: centos
# Will be pushed to localhost:5000/centos:7
repository: localhost:5000/centos
tag: 7
push: true
source: local
- name: Add tag latest to image
community.docker.docker_image:
name: myimage:7.1.2
repository: myimage:latest
# As 'latest' usually already is present, we need to enable overwriting of existing tags:
force_tag: true
source: local
- name: Remove image
community.docker.docker_image:
state: absent
name: registry.ansible.com/chouseknecht/sinatra
tag: v1
- name: Build an image and push it to a private repo
community.docker.docker_image:
build:
path: ./sinatra
name: registry.ansible.com/chouseknecht/sinatra
tag: v1
push: true
source: build
- name: Archive image
community.docker.docker_image:
name: registry.ansible.com/chouseknecht/sinatra
tag: v1
archive_path: my_sinatra.tar
source: local
- name: Load image from archive and push to a private registry
community.docker.docker_image:
name: localhost:5000/myimages/sinatra
tag: v1
push: true
load_path: my_sinatra.tar
source: load
- name: Build image and with build args
community.docker.docker_image:
name: myimage
build:
path: /path/to/build/dir
args:
log_volume: /var/log/myapp
listen_port: 8080
source: build
- name: Build image using cache source
community.docker.docker_image:
name: myimage:latest
build:
path: /path/to/build/dir
# Use as cache source for building myimage
cache_from:
- nginx:latest
- alpine:3.8
source: build
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
Ключ | Описание |
|---|---|
image словарь | Результаты проверки изображения для затронутого изображения. Возвращаемое значение: успех Пример: |
stdout строка добавлено в community.docker 1.0.0 | Вывод Docker при создании изображения. Возвращаемое значение: успех Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/docker/docker_image_module.html