从主机浏览器识别docker容器

时间:2017-07-16 11:59:32

标签: docker

我在网上有2个码头工人:网络和后端 当我从主机(http://web:3000)访问“web”时,它可以工作。 “web”有一个到后端机器的“测试连接”按钮,它只是试图访问后端机器上的静态页面(http://backend:80/isAlive

但由于调用是从浏览器进行的,并且浏览器在主机上,因此无法解析“后端”主机名。

我可以通过编辑我的主机文件来解决这个问题,以便将“后端”解析为localhost,但有更聪明的方法吗?

1 个答案:

答案 0 :(得分:1)

您应该强烈考虑设置一个单独的容器作为反向代理,使用虚拟主机将请求转发到不同的容器。

backend.foo.bar  -> talks to backend container
web.foo.bar      -> talks to web container

如果您不想配置DNS,您现在可以将这些名称映射到hosts文件中的localhost。

最快捷的方法是使用jwilder/nginx。当你开始工作时,你可以进入容器并查看为nginx生成的配置文件,并在将来想要手动设置它时学习一些。

再次:这意味着jwilder/nginx容器是唯一一个将端口映射到localhost的容器。其他容器通过它代理。