首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker :查找容器的IP地址?

Docker :查找容器的IP地址?
EN

Stack Overflow用户
提问于 2021-04-13 02:04:08
回答 1查看 245关注 0票数 0

我有两个码头集装箱。容器一名为5extraextranodes_plc1_1,并在一个名为test_net的桥接网络上与坞组成一起运行。

集装箱2是建立和运行以外的码头-组成。容器2中有一个Python3脚本。在这个Python3脚本中,我希望能够查找5extraextranodes_plc1_1容器的IP地址。

我最初尝试在Python代码中使用subprocess.checkout()来运行docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 5extraextranodes_plc1_1命令。但这给了我一个错误FileNotFoundError: Errno 2没有这样的文件或目录:'docker‘。

所以现在我尝试使用Python3.6脚本中的Docker来完成这个任务。我正在运行以下代码:

代码语言:javascript
复制
    client = docker.from_env()
    container = client.containers.list(filters={"name": "5extraextranodes_plc1_1"})
    ip_add = container.attrs['NetworkSettings']['IPAddress']

不幸的是,这段代码给了我错误: docker.errors.DockerException: Error,而获取服务器API版本:(‘连接中止.’,FileNotFoundError(2,‘没有这样的文件或目录’)的语句client = docker.from_env()

如何从同一网络上的容器2中查找5extraextranodes_plc1_1容器的IP地址?

注意:I目前正在网络test_net (与容器1相同的网络)上运行Container2。我也尝试过在网络host模式下运行它。都失败了。

EN

回答 1

Stack Overflow用户

发布于 2021-04-13 07:54:47

如果您不想使用公共网络和Docker DNS,如@larsks所述:

默认情况下,容器不允许在主机系统上更改内容,这是码头的核心概念。但是您可以显式地允许访问坞袜子:

docker run -v /var/run/docker.sock:/var/run/docker.sock container2

但请记住:这个集装箱获得了超级大国,如果必要的话,应该得到很好的保护。

如果您有进一步的问题,请从container2提供Dockerfile

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67067796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档