docker-py:如何将IP地址绑定到容器

docker-py: How to bind an IP address to a container

假设我有一个名为 "mynet" 的网络,我想启动一个 IP 地址绑定到 192.168.23.2 的容器。

我开始使用的代码是:

import docker
c = docker.from_env()
c.containers.run('containername', 'sh some_script.sh', network='mynet')

我可以从这里做什么?我正在有效地寻找与 docker run.

中的 --ip 选项等效的选项

您需要创建一个网络并将容器连接到它:

container = c.containers.run('containername', 'sh some_script.sh')

ipam_pool = docker.types.IPAMPool(
    subnet='192.168.23.0/24',
    gateway='192.168.23.1'
)
ipam_config = docker.types.IPAMConfig(
    pool_configs=[ipam_pool]
)
mynet= c.network.create(
    "network1",
    driver="bridge",
    ipam=ipam_config
)

ip = {"ipv4_address": "192.168.23.2"}
mynet.connect(container,ip)