加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何通过localhost连接两个docker容器?

发布时间:2020-12-16 03:43:15 所属栏目:安全 来源:网络整理
导读:我有两个服务在单独的容器中运行,一个是grunt(应用程序)并运行端口9000,另一个是sails.js(服务器)运行端口1337.我想要尝试做的是让客户端应用程序连接服务器通过localhost:1337.这可行吗?谢谢. 最佳答案 主办 您将无法使用localhost连接到其他容器(因为loc

我有两个服务在单独的容器中运行,一个是grunt(应用程序)并运行端口9000,另一个是sails.js(服务器)运行端口1337.我想要尝试做的是让客户端应用程序连接服务器通过localhost:1337.这可行吗?谢谢.

最佳答案
主办

您将无法使用localhost连接到其他容器(因为localhost是当前容器),但您可以通过容器主机(运行容器的主机)进行连接.在您的情况下,您需要boot2docker VM IP(echo $(boot2docker ip)).为此,您需要在主机级别公开您的端口(您正在使用-p 1337:1337).

链接

另一种最常见且我更喜欢的解决方案是链接容器.

您需要将–name标志添加到服务器docker run命令:
–name sails_server

您需要将–link标志添加到应用程序docker run命令:
–link sails_server:sails_server

在您的应用程序中,您将能够通过sail_server:1337访问服务器
您还可以使用环境变量来获取服务器IP.参见文档:https://docs.docker.com/userguide/dockerlinks/

奖金:DOCKER-COMPOSE

你的运行命令可能会开始有点长……在这种情况下,我喜欢使用docker-compose,它允许我在一个文件中定义我的容器及其关系(卷,名称,链接,命令……).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读