如何通过名称而不是IP地址到达Docker容器?

有没有一种方法可以使用名称而不是IP地址访问我的Docker容器?

我听说过管道工作,也看到过一些docker的dns和主机名类型选项,但是我仍然无法将所有内容组合在一起。

感谢您的时间。

我不确定这是否有帮助,但这是我到目前为止所做的:

  • 使用docker-machine和vmwarevsphere驱动程序安装了docker容器主机
  • 用docker-compose启动了所有服务
  • 我可以使用IP和端口从网络上的任何其他计算机访问所有服务

我已将DNS别名条目添加到我的专用网络DNS服务器,它与docker-

machine使用的计算机名称匹配。但是,机器启动并连接到网络时,总是会选择其他IP地址。

我只是在哪里解决这个问题而迷路:

  • 网络DNS服务器
  • docker-机器主机名
  • docker容器主机名
  • 可能是所有这些的某种组合

我可能正在寻找与此问题类似的东西:

如何让docker使用我的网络路由器轻松地将dhcpip分配给容器而不是管道?

任何大致方向都会很棒…再次感谢!

回答:

Docker 1.10具有内置的DNS。如果您的容器连接到同一 用户定义的 网络(创建网络docker network create my-network并使用来运行您的容器--net my-network),则它们可以使用容器名称相互引用。(文档)。

凉!

请注意,如果您使用的是Docker compose,您会知道它为容器名称添加了前缀,即<project name>_<service

name>-#。这使您的容器名称有些难以控制,但是对于您的用例来说可能没问题。您可以通过在compose模板中手动设置容器名称来覆盖docker

compose命名功能,但是您将无法使用compose进行缩放。

以上是 如何通过名称而不是IP地址到达Docker容器? 的全部内容, 来源链接: utcz.com/qa/431364.html

回到顶部