【问题标题】:Docker bridge and order of Dockers startupDocker bridge 和 Dockers 启动顺序
【发布时间】:2021-08-19 07:09:39
【问题描述】:

我有 10 个 Docker 在生产环境中运行,它们都使用我定义的 docker 网桥相互通信,在您重新启动生产服务器之前一切正常。重新启动桥 IP 地址到 docker 容器更改后,Docker 不再能够相互通信。由于 IP 地址在处理与其他 Docker 通信的 docker 配置中是硬编码的。因此,我必须在每个周末重新配置这个 docker。

想知道是否有任何方法可以消除此手动步骤,并且可能会根据 Docker 的名称或其他内容来映射它们。目前正在考虑使用 docker-compose 文件,但不确定如何配置 IP 地址,因为在构建文件时不知道网桥 IP 地址。

非常感谢任何帮助解决此问题。

在此先感谢您。

【问题讨论】:

  • 使用主机名而不是私有容器ip?

标签: docker docker-compose bridge


【解决方案1】:

容器可以使用容器名称而不是本地网桥中的 IP 进行通信。尝试更新配置以使用容器名称进行通信。为确保在配置中使用正确的容器名称,请确保明确分配正确的容器名称。

官方docker文档供参考:https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge

【讨论】:

  • 感谢您对@akazuko 的回复,所以在我的应用程序的 env 文件中(它是 dockerized)而不是提到 172.17.0.X 你是说我可以使用 吗?如果是的话,你能指点我一个相同的代码示例吗?
  • 来自官方文档:“想象一个具有 Web 前端和数据库后端的应用程序。如果你调用你的容器 web 和 db,web 容器可以在 db 连接到 db 容器,无论应用程序堆栈运行在哪个 Docker 主机上”
  • 好的,让我试试,如果我遇到任何困难会在这里更新
猜你喜欢
  • 2018-05-05
  • 2019-12-13
  • 2015-08-28
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 2020-11-19
相关资源
最近更新 更多