如何使用 docker SDK for python 获取 docker 容器的 IP 地址?
How o get the IP address of docker container using docker SDK for python?
我正在用 network_mode = bridge
启动一个容器,当我在终端检查网络容器时,我得到了容器 IP 地址。
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id
但是,我无法从容器对象中获取此 IP 地址。
有没有不在网络对象中搜索容器的解决方案?
这是一个例子:
import docker
client = docker.DockerClient()
container = client.containers.get("magical_meitner")
ip_add = container.attrs['NetworkSettings']['IPAddress']
print(ip_add)
如果 IP 不是 return 来自 container.attrs['NetworkSettings']['IPAddress']
的建议 ,请尝试以下操作:
network_name = "my_net"
container["NetworkSettings"]["Networks"][network_name]["IPAddress"]
对我来说,当容器是使用 docker-compose 和外部网络创建时就是这种情况。
我正在用 network_mode = bridge
启动一个容器,当我在终端检查网络容器时,我得到了容器 IP 地址。
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id
但是,我无法从容器对象中获取此 IP 地址。 有没有不在网络对象中搜索容器的解决方案?
这是一个例子:
import docker
client = docker.DockerClient()
container = client.containers.get("magical_meitner")
ip_add = container.attrs['NetworkSettings']['IPAddress']
print(ip_add)
如果 IP 不是 return 来自 container.attrs['NetworkSettings']['IPAddress']
的建议
network_name = "my_net"
container["NetworkSettings"]["Networks"][network_name]["IPAddress"]
对我来说,当容器是使用 docker-compose 和外部网络创建时就是这种情况。