Spec-Zone.ru › Ansible 2.7

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"
Версия API Docker, работающего на 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
Словарь ограничений, применяемых к каждому контейнеру, создаваемому в процессе сборки.
cpusetcpus
-
Процессоры, разрешённые для выполнения, например, "0-3", "0,1".
cpushares
-
Доли процессора (относительный вес).
memory
-
Установить лимит памяти для сборки.
memswap
-
Общий объём памяти (память + своп), -1 для отключения свопа.
debug
boolean
    Варианты:
  • нет ←
  • да
Режим отладки
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 для использования при сборке образа.
Также может содержать относительный путь (относительно path).
force
boolean
добавлено в 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
boolean
    Варианты:
  • нет ←
  • да
Не использовать кэш при сборке образа.
path
-
Используется со значением 'present', чтобы собрать образ. Будет путём к каталогу, содержащему контекст и Dockerfile для сборки образа.

псевдонимы: build_path
pull
boolean
добавлено в 2.1
    Варианты:
  • нет
  • да ←
При сборке образа скачивает любые обновления для изображения FROM в Dockerfile.
push
boolean
добавлено в 2.2
    Варианты:
  • нет ←
  • да
Отправить образ в реестр. Укажите реестр в параметре name или repository.
repository
-
добавлено в 2.1
Полный путь к репозиторию. Используется со значением present, чтобы пометить образ в репозитории. Ожидается формат репозиторий:тэг. Если тэг не указан, будет использовано значение параметра tag или latest.
rm
boolean
добавлено в 2.1
    Варианты:
  • нет
  • да ←
Удалить промежуточные контейнеры после сборки.
ssl_version
-
Укажите допустимое числовое значение версии SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_SSL_VERSION.
state
-
    Варианты:
  • absent
  • present ←
  • build
Определить состояние образа.
При значении absent образ будет удален. Используйте опцию force, чтобы удалить все изображения, соответствующие указанному имени.
При значении present проверить, существует ли образ с указанным именем и тэгом. Если образ не найден или используется опция force, образ будет получен, собран или загружен. По умолчанию образ будет получен с Docker Hub. Для сборки образа укажите путь к каталогу, содержащему контекст и Dockerfile. Для загрузки образа укажите load_path, чтобы указать путь к файлу архива. Для маркировки образа в репозитории укажите путь к репозиторию. Если имя содержит путь к репозиторию, образ будет загружен.
ПРИМЕЧАНИЕ: build УСТАРЕВШАЯ функция и будет удалена в релизе 2.3. Указание build будет вести себя так же, как present.
Тег
-
По умолчанию:
"latest"
Используется для выбора изображения при извлечении. Будет добавлен к изображению при отправке, маркировании или сборке. По умолчанию latest.
Если формат параметра name — имя:тег, то значение тега из name будет иметь приоритет.
timeout
-
По умолчанию:
60
Максимальное время в секундах ожидания ответа от API.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TIMEOUT. Если переменная окружения не задана, будет использовано значение по умолчанию.
tls
boolean
    Варианты:
  • нет ←
  • да
Защитить соединение с API с помощью TLS без проверки подлинности сервера Docker.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS. Если переменная окружения не задана, будет использовано значение по умолчанию.
tls_hostname
-
По умолчанию:
"localhost"
При проверке подлинности сервера Docker укажите ожидаемое имя сервера.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS_HOSTNAME. Если переменная окружения не задана, будет использовано значение по умолчанию.
tls_verify
boolean
    Варианты:
  • нет ←
  • да
Защитить соединение с API с помощью TLS и проверить подлинность сервера Docker.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS_VERIFY. Если переменная окружения не задана, будет использовано значение по умолчанию.
use_tls
-
добавлен в 2.0
    Варианты:
  • нет ←
  • шифровать
  • проверять
УСТЕРЕЖЕН. Нужно ли использовать 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.io/en/stable/machine/.
  • При подключении к демону Docker с TLS вам может потребоваться установить дополнительные пакеты Python. Для Docker SDK для Python версии 2.4 или новее это можно сделать, установив docker[tls] с помощью pip.
  • Обратите внимание, что Docker SDK для Python позволяет указать путь к конфигурации Docker только для очень немногих функций. В целом, он будет использовать $HOME/docker/config.json, если переменная окружения DOCKER_CONFIG не указана, и использовать $DOCKER_CONFIG/config.json в противном случае.

Примеры

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

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

- name: Tag and push to local registry
  docker_image:
     # Image will be centos:7
     name: centos
     # Will be pushed to localhost:5000/centos:7
     repository: localhost:5000/centos
     tag: 7
     push: yes

- name: Add tag latest to image
  docker_image:
    name: myimage:7.1.2
    repository: myimage:latest

- 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
словарь
успешно
Результаты проверки изображения для затронутого изображения.



Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом 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.7/modules/docker_image_module.html

Spec-Zone.ru

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