首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker:能够从主机远程登录到远程机器,但不能从容器远程登录到远程机器

Docker:能够从主机远程登录到远程机器,但不能从容器远程登录到远程机器
EN

Stack Overflow用户
提问于 2017-07-11 22:07:38
回答 1查看 1.6K关注 0票数 5

我们在ECS上部署了几个码头容器。容器内部的应用程序使用远程服务,因此需要使用它们的10.X.X.X内网IP来访问它们。

我们使用Docker 1.13和CentOS 7,并使用docker/ as作为我们的基础镜像。我们的容器也使用了netwokMode: host。当我们可以从主机成功运行telnet 10.X.X.X 9999时,问题就来了,但是如果我们从容器内部运行相同的命令,它就会挂起,无法连接。

此外,我们在主机(运行容器的机器)上启用了net.ipv4.ip_forward,但在远程机器上禁用了它。

不确定可能是什么问题,可能是iptables

EN

回答 1

Stack Overflow用户

发布于 2017-10-19 11:34:40

我花了一天的时间来解决同样的问题(同时尝试了'bridge‘和’host‘两种网络模式),在ECS中使用busybox的telnet看起来像是一个问题--高山的telnet是到busybox的符号链接。我对busybox/网络不太了解,不知道根本原因是什么,但我能够通过使用其他工具来证明网络路径是清晰的。

我测试网络路径的方法是使用netcat,如下所示。“成功”或“失败”消息因版本而异,但拒绝或超时(-w#)非常明显。netcat在这里所做的只是请求套接字-它实际上并不与侦听应用程序通信,所以您需要其他东西来测试它。

代码语言:javascript
复制
nc -vz -w2 HOST PORT

我今天的问题是解决一个应用程序的mongo连接问题。nc显示路径清晰,但telnet存在与您报告的相同问题。我最终安装了mongo客户端并进行了检查,然后我就可以正常连接了。

如果需要从ECS容器内部通过telnet实际运行命令,也许可以尝试安装一个不同的telnet工具,并避免使用内置的busybox。

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

https://stackoverflow.com/questions/45036888

复制
相关文章

相似问题

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