假设我有一个名为“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
选项等价的内容。
答案 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)