网络
在服务器上创建和管理网络。有关网络的详细信息,请参见 see the Engine documentation 。
上提供的方法 client.networks
:
-
class NetworkCollection
-
create(name, *args, **kwargs)
创建一个网络。类似于 docker network create
。
- 参数:
name (str) -- 网络名称
driver (str) -- 用于创建网络的驱动程序的名称
options (dict) -- 作为键值字典的驱动程序选项
ipam (IPAMConfig) -- 网络的可选自定义IP方案。
check_duplicate (bool) -- 请求守护程序检查同名网络。默认: None
。
internal (bool) -- 限制对网络的外部访问。默认 False
。
labels (dict) -- 要在网络上设置的标签映射。默认 None
。
enable_ipv6 (bool) -- 在网络上启用IPv6。默认 False
。
attachable (bool) -- 如果启用,并且网络在全局范围内,则工作节点上的非服务容器将能够连接到网络。
scope (str) -- 指定网络的范围 (local
, global
或 swarm
)
ingress (bool) -- 如果设置,则创建以群模式提供布线网格的入口网络。
- 返回:
创建的网络。
- 返回类型:
(Network
)
- 抛出:
docker.errors.APIError -- 如果服务器返回错误。
示例
使用网桥驱动程序的网络:
>>> client.networks.create("network1", driver="bridge")
您还可以使用自定义IPAM配置创建更高级的网络。例如,将该子网设置为 192.168.52.0/24
和网关地址发送到 192.168.52.254
。
>>> ipam_pool = docker.types.IPAMPool(
subnet='192.168.52.0/24',
gateway='192.168.52.254'
)
>>> ipam_config = docker.types.IPAMConfig(
pool_configs=[ipam_pool]
)
>>> client.networks.create(
"network1",
driver="bridge",
ipam=ipam_config
)
-
get(network_id, *args, **kwargs)
根据ID获取网络。
- 参数:
network_id (str) -- 网络的ID。
verbose (bool) -- 以群模式跨群检索服务详细信息。
scope (str) -- 按作用域过滤网络 (swarm
, global
或 local
)。
- 返回:
(Network
)网络。
- 抛出:
-
-
list(*args, **kwargs)
列出网络。类似于 docker network ls
指挥部。
- 参数:
names (list
) -- 作为筛选依据的名称列表。
ids (list
) -- 筛选依据的ID列表。
filters (dict) -- 要在网络列表上处理的过滤器。可用过滤器:- driver=[<driver-name>]
匹配网络的驱动程序。- label (字符串|列表):格式 "key"
, "key=value"
或者一份这样的清单。- type=["custom"|"builtin"]
按类型过滤网络。
greedy (bool) -- 分别获取每个网络的更多详细信息。你可能想用这个把容器固定在上面。
- 返回:
(列表 Network
)服务器上的网络。
- 抛出:
docker.errors.APIError -- 如果服务器返回错误。
-
prune(filters=None)
删除未使用的网络
- 参数:
filters (dict) -- 要在清理列表上处理的筛选器。
- 返回:
包含已删除网络名称列表和回收的磁盘空间量(以字节为单位)的字典。
- 返回类型:
(dict)
- 抛出:
docker.errors.APIError -- 如果服务器返回错误。
网络对象
-
class Network
一个码头工人网络。
-
id
对象的ID。
-
short_id
对象的ID,截断为12个字符。
-
name
网络的名称。
-
containers
连接到网络的容器,作为 Container
物体。
-
attrs
服务器中此对象的原始表示形式。
-
connect(container, *args, **kwargs)
将容器连接到此网络。
- 参数:
container (str) -- 连接到此网络的容器,作为ID、名称或 Container
对象。
aliases (list
) -- 此终结点的别名列表。该列表中的名称可以在网络中使用以到达容器。默认为 None
。
links (list
) -- 此终结点的链接列表。此列表中声明的容器将链接到此容器。默认为 None
。
ipv4_address (str) -- 使用IPv4协议的网络上此容器的IP地址。默认为 None
。
ipv6_address (str) -- 使用IPv6协议的网络上此容器的IP地址。默认为 None
。
link_local_ips (list
) -- 本地链路(IPv4/IPv6)地址列表。
driver_opt (dict) -- 提供给网络驱动程序的选项词典。默认为 None
。
- 抛出:
docker.errors.APIError -- 如果服务器返回错误。
-
disconnect(container, *args, **kwargs)
断开容器与此网络的连接。
- 参数:
-
- 抛出:
docker.errors.APIError -- 如果服务器返回错误。
-
reload()
再次从服务器加载此对象并更新 attrs
使用新的数据。
-
remove()
删除此网络。
- 抛出:
docker.errors.APIError -- 如果服务器返回错误。