Модуль community.docker.docker_config – управление конфигурациями Docker
Примечание
Этот модуль входит в коллекцию community.docker (версия 5.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.docker. Для использования этого модуля требуются дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.docker.docker_config.
Краткое описание
- Создание и удаление конфигураций Docker в среде Swarm. Аналогично
docker config createиdocker config rm. - Добавляет в метаданные новых конфигураций
ansible_key— зашифрованное хеш-представление данных, которое затем используется при последующих запусках для проверки изменений конфигурации. Еслиansible_keyотсутствует, конфигурация не будет обновлена, если не задан параметрforce. - Обновление конфигураций выполняется путем удаления конфигурации и ее повторного создания.
Требования
На узле, на котором выполняется этот модуль, должны быть установлены следующие компоненты.
- Docker API >= 1.30
- Docker SDK for Python: обратите внимание, что модуль Python docker-py заменен модулем docker (подробности см. здесь). Этот модуль не работает с docker-py.
- Docker SDK for Python >= 2.6.0
Параметры
Параметр | Комментарии |
|---|---|
api_version псевдонимы: docker_api_version string | Версия Docker API, работающего на узле Docker. По умолчанию используется последняя версия API, поддерживаемая Docker SDK for Python и демоном Docker. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения По умолчанию: |
ca_path псевдонимы: ca_cert, tls_ca_cert, cacert_path path | Используйте сертификат CA при проверке сервера, указав путь к файлу сертификата CA. Если значение не указано в задаче, а переменная окружения Раньше этот параметр назывался |
client_cert псевдонимы: tls_client_cert, cert_path path | Путь к файлу сертификата TLS клиента. Если значение не указано в задаче, а переменная окружения |
client_key псевдонимы: tls_client_key, key_path path | Путь к файлу ключа TLS клиента. Если значение не указано в задаче, а переменная окружения |
data string | Значение конфигурации. Несовместим с |
data_is_b64 boolean | Если задано значение Для использования двоичных данных Варианты:
|
data_src path добавлен в community.docker 1.10.0 | Файл на целевом узле, из которого считывается конфигурация. Несовместим с |
debug boolean | Режим отладки. Варианты:
|
docker_host псевдонимы: docker_url string | URL или путь к сокету Unix для подключения к Docker API. Чтобы подключиться к удаленному узлу, укажите строку TCP-подключения. Например, Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения По умолчанию: |
force boolean | Используйте вместе с Если задано значение Варианты:
|
labels dictionary | Словарь метаданных в формате ключ:значение; и Если указаны новые метаданные или изменены существующие, конфигурация будет обновлена путем ее удаления и повторного создания. |
name string / обязательный | Имя конфигурации. |
rolling_versions boolean добавлен в community.docker 2.2.0 | Если задано значение К управляемым конфигурациям добавляется метка с номером версии и именем Варианты:
|
state string | Укажите Варианты:
|
template_driver string добавлен в community.docker 2.5.0 | |
timeout integer | Максимальное время ожидания ответа API в секундах. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения По умолчанию: |
tls boolean | Защитите подключение к API с помощью TLS без проверки подлинности сервера узла Docker. Обратите внимание: если для Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения Варианты:
|
tls_hostname string | При проверке подлинности сервера узла Docker укажите ожидаемое имя сервера. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения Обратите внимание: в предыдущих версиях значение по умолчанию для этого параметра было Примечание: этот параметр больше не поддерживается в Docker SDK for Python 7.0.0 и более поздних версиях. Его указание в Docker SDK for Python 7.0.0 или более новой версии приведет к ошибке. |
use_ssh_client boolean добавлен в community.docker 1.5.0 | Для подключений SSH используйте инструмент командной строки Требуется Docker SDK for Python версии 4.4.0 или новее. Варианты:
|
validate_certs псевдонимы: tls_verify boolean | Защитите подключение к API с помощью TLS и проверяйте подлинность сервера узла Docker. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения Варианты:
|
versions_to_keep integer добавлен в community.docker 2.2.0 | При использовании Ненужные старые конфигурации удаляются после создания новой. Укажите По умолчанию: |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.docker.docker, docker | Используйте |
check_mode | Поддержка: полная | Может выполняться в режиме |
diff_mode | Поддержка: отсутствует | В режиме diff возвращает подробную информацию о внесенных изменениях (или изменениях, которые могут потребоваться в |
idempotent | Поддержка: частичная Если | При повторном запуске подряд вне режима проверки с теми же аргументами второй запуск сообщает об отсутствии изменений. Предполагается, что система, управляемая или проверяемая модулем, не изменилась существенным образом. |
Примечания
Примечание
- Подключайтесь к демону Docker, передавая параметры в каждой задаче или задавая переменные окружения. Можно задать
DOCKER_HOST,DOCKER_TLS_HOSTNAME,DOCKER_API_VERSION,DOCKER_CERT_PATH,DOCKER_TLS,DOCKER_TLS_VERIFYиDOCKER_TIMEOUT. Если вы используете docker machine, запустите поставляемый с продуктом скрипт настройки среды. Он задаст эти переменные за вас. Дополнительные сведения см. по адресу https://docs.docker.com/machine/reference/env/. - При подключении к демону Docker по TLS может потребоваться установить дополнительные пакеты Python. Для Docker SDK for Python версии 2.4 или новее это можно сделать, установив
docker[tls]с помощью ansible.builtin.pip. - Обратите внимание: Docker SDK for Python позволяет указать путь к конфигурации Docker лишь для очень небольшого числа функций. Как правило, если переменная окружения
DOCKER_CONFIGне задана, будет использоваться$HOME/.docker/config.json, а в противном случае —$DOCKER_CONFIG/config.json. - Этот модуль использует Docker SDK for Python для взаимодействия с демоном Docker.
Примеры
---
- name: Create config foo (from a file on the control machine)
community.docker.docker_config:
name: foo
# If the file is JSON or binary, Ansible might modify it (because
# it is first decoded and later re-encoded). Base64-encoding the
# file directly after reading it prevents this to happen.
data: "{{ lookup('file', '/path/to/config/file') | b64encode }}"
data_is_b64: true
state: present
- name: Create config foo (from a file on the target machine)
community.docker.docker_config:
name: foo
data_src: /path/to/config/file
state: present
- name: Change the config data
community.docker.docker_config:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
state: present
- name: Add a new label
community.docker.docker_config:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
# Adding a new label will cause a remove/create of the config
two: '2'
state: present
- name: No change
community.docker.docker_config:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
# Even though 'two' is missing, there is no change to the existing config
state: present
- name: Update an existing label
community.docker.docker_config:
name: foo
data: Goodnight everyone!
labels:
bar: monkey # Changing a label will cause a remove/create of the config
one: '1'
state: present
- name: Force the (re-)creation of the config
community.docker.docker_config:
name: foo
data: Goodnight everyone!
force: true
state: present
- name: Remove config foo
community.docker.docker_config:
name: foo
state: absent
Возвращаемые значения
Описание общих возвращаемых значений приведено здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
config_id string | Идентификатор, присвоенный Docker объекту конфигурации. Возвращается: при успешном выполнении и Пример: |
config_name string добавлен в community.docker 2.2.0 | Имя созданного объекта конфигурации. Возвращается: при успешном выполнении и Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/docker/docker_config_module.html