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

时间:2017-10-04 01:09:41

标签: python docker dockerpy

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

我开始的代码是:

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

我从这里做什么?我正在有效地寻找与--ip中的docker run选项等价的内容。

1 个答案:

答案 0 :(得分:3)

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

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)