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)
假设我有一个名为 "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)