首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker容器不连接到服务器上的另一个码头容器

Docker容器不连接到服务器上的另一个码头容器
EN

Stack Overflow用户
提问于 2018-07-03 19:17:08
回答 3查看 389关注 0票数 1

我正在使用一个数字海洋对接液滴,有3个对接容器:一个用于前端,一个用于后端,一个用于其他具有不同依赖关系的工具,让我们称之为后端2。

前端调用后端1,后端1依次调用后端2,后端2容器通过端口50051公开gRPC服务。在本地,通过运行以下命令,我能够识别要使用IP 127.17.0.1运行的docker服务:

代码语言:javascript
复制
docker network inspect bridge --format='{{json .IPAM.Config}}'

因此,我理解我的gRPC服务器可以从服务器内的以下url 127.17.0.1:50051访问。

不幸的是,gRPC服务器在从对接器液滴运行时拒绝连接,而当它在本地运行时工作非常正常。

知道有什么不同吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-04 15:25:33

您通常应该设置一个Docker专用网络,以便使用容器名称在容器之间进行通信;例如,请参见How to communicate between Docker containers via "hostname"。如果删除和重新创建容器,并且无法从外部主机访问,则Docker-内部IP地址可能会更改,并且尝试查找它们通常不是最佳做法。

172.17.0.0/16是Docker内部IP网络的典型默认设置(127.0.0.0/8是保留的IPv4环回网络),看起来您可能已经键入了从docker network inspect获得的地址。

票数 1
EN

Stack Overflow用户

发布于 2018-07-04 05:02:09

使用以下命令尝试docker run

docker run -d -p {server ip}:12345 {back-end 2 image}

它将向码头容器公开IP端口,并可从其他服务器访问。

注意:如果防火墙阻塞访问,也要检查防火墙规则。

票数 0
EN

Stack Overflow用户

发布于 2018-07-07 13:16:13

您可以运行对接绑定到ip和端口,如Aakash所示。请限制对此特定IP和端口的访问,仅从其他端口IP和端口访问-这将有助于运行码头私有,并不允许其他(甚至网络中的其他端口/实例)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51161576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档