rec*_*man 9 docker sails.js boot2docker
我有两个服务在单独的容器中运行,一个是grunt(应用程序)并运行端口9000,另一个是sails.js(服务器)运行端口1337.我想要尝试做的是让客户端应用程序连接服务器通过localhost:1337.这可行吗?谢谢.
Cél*_*urd 11
您将无法使用localhost(localhost当前容器)连接到其他容器,但您可以通过容器主机(运行容器的主机)进行连接.在您的情况下,您需要boot2docker VM IP(echo $(boot2docker ip)).为此,您需要在主机级别(您正在使用它-p 1337:1337)公开您的端口.
另一种最常见且最不可能的解决方案是链接容器.
您需要在服务器docker run命令中添加--name标志:
--name sails_server
您需要将--link标志添加到应用程序docker run命令:
--link sails_server:sails_server
在您的应用程序中,您将能够访问服务器sail_server:1337
您还可以使用环境变量来获取服务器IP.请参阅文档:https://docs.docker.com/userguide/dockerlinks/
您的运行命令可能会开始有点长......在这种情况下,我喜欢使用docker-compose,它允许我在一个文件中定义我的容器及其关系(卷,名称,链接,命令......).
| 归档时间: |
|
| 查看次数: |
7530 次 |
| 最近记录: |