gpt4 book ai didi

docker - 无法从同一网络中的另一个 docker 容器解析设置的主机名

转载 作者:行者123 更新时间:2023-12-02 18:14:40 26 4
gpt4 key购买 nike

我有数据库和服务器容器,它们都在同一个网络中运行。可以通过其容器 ID ping 数据库主机没有问题。当我手动为数据库容器设置主机名时(-h myname),它产生了效果($ hostname 返回设置的主机),但我无法从同一网络中的另一个容器。容器 ID 仍然可以 ping 通。虽然它在 docker compose 中没有问题。我错过了什么?

最佳答案

docker 的内置 DNS 服务不使用主机名。这是一个违反直觉的异常(exception),但由于主机名可以在 docker 的控制之外更改,所以它有一定的道理。 Docker 的 DNS 将解析:

  • 容器编号
  • 容器名称
  • 您为该网络上的容器定义的任何网络别名

这些选项中最简单的是最后一个,它是在运行带有组合文件的容器时自动配置的。服务名称本身就是一个网络别名。这使您可以扩展和执行滚动更新,而无需重新配置其他容器。

您需要在用户创建的网络上,而不是类似于禁用 DNS 的默认网桥。这是在运行带有组合文件的容器时默认完成的。

避免使用链接,因为它们已被弃用。而且我只建议为不在任何 DNS 中的外部静态主机、容器到容器或访问 docker 之外的其他主机添加主机条目,首选 DNS。

关于docker - 无法从同一网络中的另一个 docker 容器解析设置的主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53356500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com