community.docker.docker_network модуль — Управление сетями Docker
Примечание
Этот модуль является частью коллекции community.docker (версия 3.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.docker. Для использования этого модуля требуются дополнительные зависимости. Подробности см. в разделе Требования.
Чтобы использовать его в книге задач, укажите: community.docker.docker_network.
Описание
- Создание/удаление сетей Docker и подключение контейнеров к ним.
- Выполняет те же функции, что и подкоманда
docker networkCLI.
Требования
Ниже приведены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- 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 псевдонимы: docker_api_version строка | Версия API Docker, работающая на хосте Docker. По умолчанию используется последняя версия API, поддерживаемая этим сбором и демоном docker. Если значение не указано в задаче, будет использовано значение переменной среды По умолчанию: |
appends псевдонимы: incremental логическое | По умолчанию список подключений является каноническим, что означает, что контейнеры, отсутствующие в списке, удаляются из сети. Используйте Варианты:
|
attachable логическое | Если включено и сеть находится в глобальной области, контейнеры без служб на узлах рабочих станций смогут подключиться к сети. Варианты:
|
ca_path псевдонимы: ca_cert, tls_ca_cert, cacert_path путь | Используйте сертификат CA при проверке сервера, указав путь к файлу сертификата CA. Если значение не указано в задаче, и переменная среды Этот параметр назывался |
client_cert псевдонимы: tls_client_cert, cert_path путь | Путь к файлу TLS-сертификата клиента. Если значение не указано в задаче, и переменная среды |
client_key псевдонимы: tls_client_key, key_path путь | Путь к файлу TLS-ключа клиента. Если значение не указано в задаче, и переменная среды |
config_from строка добавлен в community.docker 3.10.0 | Указывает конфигурационную сеть, только для использования конфигурации. |
config_only логическое добавлен в community.docker 3.10.0 | Устанавливает, что это сеть только для конфигурации. Варианты:
|
connected псевдонимы: containers список / элементы=строка | Список имён или идентификаторов контейнеров для подключения к сети. Обратите внимание, что модуль только гарантирует подключение этих контейнеров к сети, но не заботится о параметрах подключения. Если вы полагаетесь на конкретные IP-адреса и т.д., используйте модуль community.docker.docker_container, чтобы убедиться, что ваши контейнеры правильно подключены к этой сети. По умолчанию: |
debug логическое | Режим отладки Варианты:
|
docker_host псевдонимы: docker_url строка | URL или путь к сокету Unix для подключения к API Docker. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, Если значение не указано в задаче, будет использовано значение переменной среды По умолчанию: |
driver строка | Укажите тип сети. Docker предоставляет драйверы bridge и overlay, но также можно использовать драйверы сторонних разработчиков. По умолчанию: |
driver_options словарь | Словарь настроек сети. Обратитесь к документации Docker за допустимыми параметрами и значениями. По умолчанию: |
enable_ipv6 boolean | Включить IPv6-сетевое подключение. Варианты:
|
force boolean | В состоянии Этот параметр необходим, если вы изменили параметры IPAM или драйвера и хотите обновить существующую сеть для использования новых параметров. Варианты:
|
internal boolean | Ограничить внешний доступ к сети. Варианты:
|
ipam_config list / elements=dictionary | Список блоков конфигурации IPAM. Обратитесь к документации Docker для получения допустимых параметров и значений. Обратите внимание, что |
|
aux_addresses dictionary |
Дополнительные IP-адреса, используемые драйвером сети, как отображение имени хоста на IP. |
|
gateway string |
IP-адрес шлюза. |
|
iprange string |
Диапазон IP-адресов в CIDR-нотации. |
|
subnet string |
Подмножество IP-адресов в CIDR-нотации. |
ipam_driver string | Укажите драйвер IPAM. |
ipam_driver_options dictionary | Словарь параметров драйвера IPAM. |
labels dictionary | Словарь меток. По умолчанию: |
name aliases: network_name string / обязательный | Имя сети для обработки. |
scope string | Укажите область действия сети. Варианты:
|
ssl_version string | Укажите допустимый номер версии SSL. Значение по умолчанию определяется модулем SSL Python. Если значение не указано в задании, будет использовано значение переменной окружения |
state string |
Варианты:
|
timeout integer | Максимальное время в секундах ожидания ответа от API. Если значение не указано в задании, будет использовано значение переменной окружения По умолчанию: |
tls boolean | Защитить подключение к API с помощью TLS без проверки подлинности хоста Docker. Обратите внимание, что если Если значение не указано в задании, будет использовано значение переменной окружения Варианты:
|
tls_hostname string | При проверке подлинности сервера Docker Host укажите ожидаемое имя сервера. Если значение не указано в задаче, будет использовано значение переменной среды Обратите внимание, что в более старых версиях этот параметр имел значение по умолчанию |
use_ssh_client boolean добавлен в community.docker 1.5.0 | Для SSH-транспортов используйте инструмент командной строки Варианты:
|
validate_certs aliases: tls_verify boolean | Обеспечьте безопасность подключения к API с помощью TLS и проверьте подлинность сервера Docker Host. Если значение не указано в задаче, будет использовано значение переменной среды Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.docker.docker, docker | Используйте |
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Возвратит подробную информацию о внесенных изменениях (или возможно необходимых изменениях в |
Примечания
Примечание
- При изменении параметров сети модуль отключает все контейнеры от сети, удаляет сеть и пересоздает ее. Он не пытается повторно подключить контейнеры, за исключением тех, что перечислены в (
connected), и даже для них не учитываются конкретные параметры подключения, такие как фиксированные IP-адреса или MAC-адреса. Если вам требуется больший контроль над подключением контейнеров к сети, используйте цикл модуля community.docker.docker_container для перебора контейнеров и обеспечения их правильного подключения. - Модуль не поддерживает Docker Swarm. Это означает, что он не будет пытаться отключить или подключить сервисы. Если сервисы подключены к сети, удаление сети завершится ошибкой. При изменении параметров сети сеть должна быть удалена и пересоздана, поэтому это также завершится ошибкой.
- Подключитесь к демону 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 для Python для связи с демоном Docker. Он использует код, полученный из Docker SDK или Python, который включен в этот сборник.
Примеры
- name: Create a network
community.docker.docker_network:
name: network_one
- name: Remove all but selected list of containers
community.docker.docker_network:
name: network_one
connected:
- container_a
- container_b
- container_c
- name: Remove a single container
community.docker.docker_network:
name: network_one
connected: "{{ fulllist|difference(['container_a']) }}"
- name: Add a container to a network, leaving existing containers connected
community.docker.docker_network:
name: network_one
connected:
- container_a
appends: true
- name: Create a network with driver options
community.docker.docker_network:
name: network_two
driver_options:
com.docker.network.bridge.name: net2
- name: Create a network with custom IPAM config
community.docker.docker_network:
name: network_three
ipam_config:
- subnet: 172.23.27.0/24
gateway: 172.23.27.2
iprange: 172.23.27.0/26
aux_addresses:
host1: 172.23.27.3
host2: 172.23.27.4
- name: Create a network with labels
community.docker.docker_network:
name: network_four
labels:
key1: value1
key2: value2
- name: Create a network with IPv6 IPAM config
community.docker.docker_network:
name: network_ipv6_one
enable_ipv6: true
ipam_config:
- subnet: fdd1:ac8c:0557:7ce1::/64
- name: Create a network with IPv6 and custom IPv4 IPAM config
community.docker.docker_network:
name: network_ipv6_two
enable_ipv6: true
ipam_config:
- subnet: 172.24.27.0/24
- subnet: fdd1:ac8c:0557:7ce2::/64
- name: Delete a network, disconnecting all containers
community.docker.docker_network:
name: network_one
state: absent
force: true
Значения возврата
Общие значения возврата описаны в здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
network словарь | Результаты проверки сети для затронутой сети. Возвращено: success Пример: |
Ссылки на сборник
© 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_network_module.html