我正在使用 启动一个容器network_mode = bridge
,当我在终端中检查网络容器时,我得到了容器 IP 地址。
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id
但是,我无法从容器对象中获取此 IP 地址。有没有不搜索网络对象中的容器的解决方案?
我正在使用 启动一个容器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 没有按照此处container.attrs['NetworkSettings']['IPAddress']
的建议返回,请尝试以下操作:
network_name = "my_net"
container["NetworkSettings"]["Networks"][network_name]["IPAddress"]
对我来说,使用 docker-compose 创建容器时就是这种情况,并带有外部网络。