mirror of https://github.com/docker/docker-py.git
Merge pull request #1108 from docker/1107-link-local-ips
Add support for link-local IPs in endpoint config
This commit is contained in:
commit
986a14a152
|
|
@ -60,12 +60,13 @@ class NetworkApiMixin(object):
|
||||||
@minimum_version('1.21')
|
@minimum_version('1.21')
|
||||||
def connect_container_to_network(self, container, net_id,
|
def connect_container_to_network(self, container, net_id,
|
||||||
ipv4_address=None, ipv6_address=None,
|
ipv4_address=None, ipv6_address=None,
|
||||||
aliases=None, links=None):
|
aliases=None, links=None,
|
||||||
|
link_local_ips=None):
|
||||||
data = {
|
data = {
|
||||||
"Container": container,
|
"Container": container,
|
||||||
"EndpointConfig": self.create_endpoint_config(
|
"EndpointConfig": self.create_endpoint_config(
|
||||||
aliases=aliases, links=links, ipv4_address=ipv4_address,
|
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,
|
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'):
|
if version_lt(version, '1.22'):
|
||||||
raise errors.InvalidVersion(
|
raise errors.InvalidVersion(
|
||||||
'Endpoint config is not supported for API version < 1.22'
|
'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:
|
if ipam_config:
|
||||||
endpoint_config['IPAMConfig'] = 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
|
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
|
* container (str): container-id/name to be connected to the network
|
||||||
* net_id (str): network id
|
* 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
|
## copy
|
||||||
Identical to the `docker cp` command. Get files/folders from the container.
|
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`.
|
using the IPv4 protocol. Defaults to `None`.
|
||||||
* ipv6_address (str): The IP address of this container on the network,
|
* ipv6_address (str): The IP address of this container on the network,
|
||||||
using the IPv6 protocol. Defaults to `None`.
|
using the IPv6 protocol. Defaults to `None`.
|
||||||
|
* link_local_ips (list): A list of link-local (IPv4/IPv6) addresses.
|
||||||
|
|
||||||
**Returns** An endpoint config dictionary.
|
**Returns** An endpoint config dictionary.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue