无法从弹性beanstalk中的docker容器telnet到AWS上的不同ec2

问题描述 投票:0回答:2

我正在尝试从Elastic Beanstalk上的docker实例远程登录到同一VPC中的另一个EC2实例。我创建了一个安全组,允许从Elastic Beanstalk安全组ID到另一个EC2实例的入站流量。

在ssh进入其中一个Elastic Beanstalk实例后,我可以确认我能够从Elastic Beanstalk实例远程登录到另一个EC2实例。

成功:

[root@ip-111-11-11-111 ~]#  telnet 222.22.22.22 9999
Trying 222.22.22.22...
Connected to 222.22.22.22.
Escape character is '^]'

但是,当我以交互方式(通过docker run -it)连接到docker容器并尝试运行上面的相同命令时,没有建立任何连接:

失败:

[root@ip-111-11-11-111 ~]# sudo su -
[root@ip-111-11-11-111 ~]#  docker exec -it my_instance /bin/sh
/path-of-user # telnet 222.22.22.22 9999
(hangs here, never connects)

很明显,安全组适用于Elastic Beanstalk实例,但不适用于Elastic Beanstalk实例内的docker实例。我不确定安全组的正确更改是允许来自Elastic Beanstalk实例内的docker实例的流量到不同的EC2实例。任何帮助将不胜感激!

amazon-web-services docker amazon-ec2 amazon-elastic-beanstalk aws-security-group
2个回答
0
投票

如果我是你,我会检查码头的配置,例如,如果你做sudo docker ps,你能看到你的码头有正确的端口转发配置吗?你应该有类似0.0.0.0:80->80/tcp的东西。


0
投票

docker容器内的telnet命令最终成为与外部ip无法正常工作的连接的误报。在进一步调试问题之后,实际上正在建立连接,但显然我在docker中运行的Alpine发行版简单不会输出任何内容,即使它确实正在连接。当我注意到消息成功通过我的外部Kafka设置时,我能够确认连接。

© www.soinside.com 2019 - 2024. All rights reserved.