【问题标题】:How to run a docker container with a previously determined ip address with the python docker sdk?如何使用 python docker sdk 运行具有先前确定的 ip 地址的 docker 容器?
【发布时间】:2023-01-19 19:23:27
【问题描述】:

在控制台上这样做的技巧:

docker run --net mynet --ip 172.18.0.22 --dns="8.8.8.8" -d testimage

有没有像这样的python docker sdk的简单等价物?

container = client.containers.run("alpine", "ls /", detach=True, ipv4_address=ip_address)

但是运行函数中没有 ipv4_address 参数......

【问题讨论】:

    标签: python docker


    【解决方案1】:

    容器的 IP 地址仅存在于容器在该 IP 连接到的网络的引用中,因此您需要在网络连接上指定它,而不是在创建容器时指定它。

    这成为 Python SDK 中的两步过程。假设网络 mynet 已经存在,您可以在创建后使用 Network.connect 将您的容器连接到它。你的控制台命令的等价物是这样的:

    container = client.containers.run("testimage", detach=True, dns=["8.8.8.8"])
    mynet = client.networks.list(names=["mynet"])[0]
    mynet.connect(container, ipv4_address="172.18.0.22")
    

    【讨论】:

      猜你喜欢
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      相关资源
      最近更新 更多