如果我从控制台运行容器,我执行以下命令:
docker run -d --name iperf_srv --network mynet --ip 10.195.10.10 astotal/iperf3 -s
然后我让iperf收听10.195.10.10 ip地址。
如何使用python API执行相同的操作?
有代码在ipam池上运行IP上的容器,但实际上并不是我需要的
import docker
doc = docker.from_env()
srv_pool=docker.types.IPAMPool(subnet='10.195.10.0/24',iprange='10.195.10.0/24')
srv_ipam=docker.types.IPAMConfig(pool_configs=[srv_pool])
doc.networks.create('uplink', driver='macvlan', options={'parent':'eth2.3200'},ipam=srv_ipam)
srv=doc.containers.run('astotal/iperf3', '-s', network='uplink', detach=True, name='iperf_server')
答案 0 :(得分:0)
我通过几个步骤找到的最佳解决方案:
srv = doc.containers.create('astotal/iperf3', '-s', detach=True, name='iperf_server')
doc.networks.get("uplink").connect(srv, ipv4_address="10.195.10.11")
srv.start()