docker - py: как привязать 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.

1 ответов


вам нужно создать сеть и подключить к ней контейнер:

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)