如何通过名称而不是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