mirror of https://github.com/docker/docker-py.git
Add support for link-local IPs in endpoint config
Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
9010d59450
commit
0de366da3d
|
@ -60,12 +60,13 @@ class NetworkApiMixin(object):
|
|||
@minimum_version('1.21')
|
||||
def connect_container_to_network(self, container, net_id,
|
||||
ipv4_address=None, ipv6_address=None,
|
||||
aliases=None, links=None):
|
||||
aliases=None, links=None,
|
||||
link_local_ips=None):
|
||||
data = {
|
||||
"Container": container,
|
||||
"EndpointConfig": self.create_endpoint_config(
|
||||
aliases=aliases, links=links, ipv4_address=ipv4_address,
|
||||
ipv6_address=ipv6_address
|
||||
ipv6_address=ipv6_address, link_local_ips=link_local_ips
|
||||
),
|
||||
}
|
||||
|
||||
|
|
|
@ -873,7 +873,8 @@ def create_networking_config(endpoints_config=None):
|
|||
|
||||
|
||||
def create_endpoint_config(version, aliases=None, links=None,
|
||||
ipv4_address=None, ipv6_address=None):
|
||||
ipv4_address=None, ipv6_address=None,
|
||||
link_local_ips=None):
|
||||
if version_lt(version, '1.22'):
|
||||
raise errors.InvalidVersion(
|
||||
'Endpoint config is not supported for API version < 1.22'
|
||||
|
@ -896,6 +897,13 @@ def create_endpoint_config(version, aliases=None, links=None,
|
|||
if ipam_config:
|
||||
endpoint_config['IPAMConfig'] = ipam_config
|
||||
|
||||
if link_local_ips is not None:
|
||||
if version_lt(version, '1.24'):
|
||||
raise errors.InvalidVersion(
|
||||
'link_local_ips is not supported for API version < 1.24'
|
||||
)
|
||||
endpoint_config['LinkLocalIPs'] = link_local_ips
|
||||
|
||||
return endpoint_config
|
||||
|
||||
|
||||
|
|
10
docs/api.md
10
docs/api.md
|
@ -179,6 +179,16 @@ Connect a container to a network.
|
|||
|
||||
* container (str): container-id/name to be connected to the network
|
||||
* net_id (str): network id
|
||||
* aliases (list): A list of aliases for this endpoint. Names in that list can
|
||||
be used within the network to reach the container. Defaults to `None`.
|
||||
* links (list): A list of links for this endpoint. Containers declared in this
|
||||
list will be [linked](https://docs.docker.com/engine/userguide/networking/work-with-networks/#linking-containers-in-user-defined-networks)
|
||||
to this container. Defaults to `None`.
|
||||
* ipv4_address (str): The IP address of this container on the network,
|
||||
using the IPv4 protocol. Defaults to `None`.
|
||||
* ipv6_address (str): The IP address of this container on the network,
|
||||
using the IPv6 protocol. Defaults to `None`.
|
||||
* link_local_ips (list): A list of link-local (IPv4/IPv6) addresses.
|
||||
|
||||
## copy
|
||||
Identical to the `docker cp` command. Get files/folders from the container.
|
||||
|
|
|
@ -107,6 +107,7 @@ Create an endpoint config dictionary to be used with
|
|||
using the IPv4 protocol. Defaults to `None`.
|
||||
* ipv6_address (str): The IP address of this container on the network,
|
||||
using the IPv6 protocol. Defaults to `None`.
|
||||
* link_local_ips (list): A list of link-local (IPv4/IPv6) addresses.
|
||||
|
||||
**Returns** An endpoint config dictionary.
|
||||
|
||||
|
|
Loading…
Reference in New Issue