Spec-Zone.ru › Ansible 2.6

docker_image - Управление образами docker.

Новое в версии 1.5.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Создать, загрузить или скачать образ, сделав его доступным для создания контейнеров. Также поддерживает маркировку образа в репозитории и архивирование образа в файл .tar.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.6
  • docker-py >= 1.7.0
  • Обратите внимание, что модуль Python docker-py был заменён на docker (подробнее см. здесь). Для Python 2.6 необходимо использовать docker-py. В противном случае рекомендуется установить модуль Python docker. Обратите внимание, что оба модуля не должны быть установлены одновременно. Также обратите внимание, что при установке и последующем удалении одного из модулей другой может перестать работать, и потребуется его повторная установка.
  • Docker API >= 1.20

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_version По умолчанию:
"auto"
Версия Docker API, работающая на Docker Host. По умолчанию используется последняя версия API, поддерживаемая docker-py.
Если значение не указано в задании, используется значение переменной окружения DOCKER_API_VERSION. Если переменная окружения не задана, используется значение по умолчанию.

Псевдонимы: docker_api_version
archive_path
(добавлен в 2.1)
Используется со значением present для архивации образа в файл .tar.
buildargs
(добавлен в 2.2)
Указывает словарь аргументов сборки key:value, которые соответствуют директивам Dockerfile ARG.
Docker ожидает строковое значение. Для удобства все значения, отличные от строк, будут преобразованы в строки.
Требуется Docker API >= 1.21 и docker-py >= 1.7.0.
cacert_path
Используйте сертификат CA при проверке сервера, указав путь к файлу сертификата CA.
Если значение не указано в задании, и переменная окружения DOCKER_CERT_PATH задана, используется файл ca.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

Псевдонимы: tls_ca_cert
cert_path
Путь к файлу TLS-сертификата клиента.
Если значение не указано в задании, и переменная окружения DOCKER_CERT_PATH задана, используется файл cert.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

Псевдонимы: tls_client_cert
container_limits
(добавлен в 2.1)
Словарь ограничений, применяемых к каждому контейнеру, созданному в процессе сборки.
memory
Установить лимит памяти для сборки.
memswap
Общий объем памяти (память + своп), -1 для отключения свопа.
cpushares
CPU-доли (относительный вес).
cpusetcpus
CPU, на которых разрешено выполнение, например, "0-3", "0,1".
debug
bool
    Варианты:
  • нет ←
  • да
Режим отладки
docker_host По умолчанию:
"unix://var/run/docker.sock"
URL или путь к Unix-сокету, используемый для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, 'tcp://192.0.2.23:2376'. Если для шифрования соединения используется TLS, модуль автоматически заменит 'tcp' в URL-адресе соединения на 'https'.
Если значение не указано в задании, используется значение переменной окружения DOCKER_HOST. Если переменная окружения не задана, используется значение по умолчанию.

Псевдонимы: docker_url
dockerfile
(добавлен в 2.0)
Используется со значением present для указания альтернативного имени Dockerfile при сборке образа.
force
bool

(добавлен в 2.1)
    Варианты:
  • нет ←
  • да
Используется со значением absent для удаления тега и всех образов, соответствующих указанному имени. Используется со значением present для сборки, загрузки или получения образа, когда образ уже существует.
http_timeout
(добавлен в 2.1)
Таймаут для HTTP-запросов во время операции сборки образа. Укажите положительное целое значение в секундах.
key_path
Путь к файлу TLS-ключа клиента.
Если значение не указано в задании, и переменная окружения DOCKER_CERT_PATH задана, используется файл key.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

Псевдонимы: tls_client_key
load_path
(добавлен в 2.2)
Используется со значением present для загрузки образа из файла .tar.
name
обязательно
Имя образа. Формат имени может быть одним из следующих: имя, имя_репозитория/имя, имя_регистра_сервера:порт/имя. При отправке или получении образа имя может необязательно включать тег, добавляя ":имя_тега".
nocache
bool
    Варианты:
  • нет ←
  • да
Не использовать кэш при сборке образа.
path
Используется со значением 'present' для сборки образа. Будет путём к каталогу, содержащему контекст и Dockerfile для сборки образа.

Псевдонимы: build_path
pull
bool

(добавлен в 2.1)
    Варианты:
  • нет
  • да ←
При сборке образа скачивает все обновления для образа FROM в Dockerfile.
push
bool

(добавлен в 2.2)
    Варианты:
  • нет ←
  • да
Отправить образ в реестр. Укажите реестр в качестве части параметра имя или репозиторий.
repository
(добавлен в 2.1)
Полный путь к репозиторию. Используется со значением present для добавления тега образа в репозиторий. Ожидается формат репозиторий:тег. Если тег не указан, используется значение параметра tag или latest.
rm
bool

(добавлен в 2.1)
    Варианты:
  • нет
  • да ←
Удалить промежуточные контейнеры после сборки.
ssl_version
Укажите действительное значение номера версии SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задании, используется значение переменной окружения DOCKER_SSL_VERSION.
state
    Варианты:
  • absent
  • present ←
  • build
Делать утверждения о состоянии образа.
При значении absent образ будет удален. Используйте параметр force для удаления тега и всех образов, соответствующих указанному имени.
При значении present проверяется, существует ли образ с заданным именем и тегом. Если образ не найден или используется параметр force, образ будет либо загружен, собран, либо загружен. По умолчанию образ загружается с Docker Hub. Для сборки образа укажите значение path, установленное на каталог, содержащий контекст и Dockerfile. Для загрузки образа укажите load_path, чтобы указать путь к файлу архива. Чтобы добавить тег образа в репозиторий, укажите путь к репозиторию. Если имя содержит путь к репозиторию, оно будет отправлено.
ПРИМЕЧАНИЕ: build УСТАРЕЛО и будет удалено в релизе 2.3. Указание build будет вести себя так же, как present.
tag По умолчанию:
"latest"
Используется для выбора образа при получении. Будет добавлен к образу при отправке, добавлении тега или сборке. По умолчанию - latest.
Если формат параметра name имеет вид имя:тег, то значение тега из name будет иметь приоритет.
timeout По умолчанию:
60
Максимальное время ожидания ответа от API в секундах.
Если значение не указано в задании, используется значение переменной окружения DOCKER_TIMEOUT. Если переменная окружения не задана, используется значение по умолчанию.
tls
bool
    Варианты:
  • нет ←
  • да
Обеспечить безопасность соединения с API с использованием TLS без проверки подлинности Docker-хоста.
Если значение не указано в задании, используется значение переменной окружения DOCKER_TLS. Если переменная окружения не задана, используется значение по умолчанию.
tls_hostname По умолчанию:
"localhost"
При проверке подлинности Docker-хоста укажите ожидаемое имя сервера.
Если значение не указано в задании, используется значение переменной окружения DOCKER_TLS_HOSTNAME. Если переменная окружения не задана, используется значение по умолчанию.
tls_verify
bool
    Варианты:
  • no ←
  • yes
Защитить подключение к API с помощью TLS и проверить подлинность сервера Docker.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_TLS_VERIFY. Если переменная среды не установлена, будет использовано значение по умолчанию.
use_tls
(added in 2.0)
    Варианты:
  • no ←
  • encrypt
  • verify
УСТАРЕЛО. Использовать tls для подключения к серверу docker. Установите в no, если TLS не использовать. Установите в encrypt, чтобы использовать TLS. И установите в verify, чтобы использовать TLS и проверить, что сертификат сервера действителен для сервера. ПРИМЕЧАНИЕ: если вы укажете этот параметр, он установит значение параметров tls или tls_verify.

Примечания

Примечание

  • Подключайтесь к демону 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://docker-py.readthedocs.org/en/stable/machine/

Примеры

- name: pull an image
  docker_image:
    name: pacur/centos-7

- name: Tag and push to docker hub
  docker_image:
    name: pacur/centos-7
    repository: dcoppenhagan/myimage
    tag: 7.0
    push: yes

- name: Tag and push to local registry
  docker_image:
     name: centos
     repository: localhost:5000/centos
     tag: 7
     push: yes

- name: Remove image
  docker_image:
    state: absent
    name: registry.ansible.com/chouseknecht/sinatra
    tag: v1

- name: Build an image and push it to a private repo
  docker_image:
    path: ./sinatra
    name: registry.ansible.com/chouseknecht/sinatra
    tag: v1
    push: yes

- name: Archive image
  docker_image:
    name: registry.ansible.com/chouseknecht/sinatra
    tag: v1
    archive_path: my_sinatra.tar

- name: Load image from archive and push to a private registry
  docker_image:
    name: localhost:5000/myimages/sinatra
    tag: v1
    push: yes
    load_path: my_sinatra.tar

- name: Build image and with buildargs
  docker_image:
     path: /path/to/build/dir
     name: myimage
     buildargs:
       log_volume: /var/log/myapp
       listen_port: 8080

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
image
dict
success
Результаты проверки изображения для затронутого изображения.



Статус

Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Поддержка модулей и поддержка.

Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.

Автор

  • Павел Антонов (@softzilla)
  • Крис Хауснект (@chouseknecht)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/docker_image_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API