无法从 EC2 上的 ECS 管理的 docker 容器连接到外部

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

我有

ECS
,它使用
EC2
,并且
EC2
有一个
container

EC2 node
我可以使用此命令访问外部。

[ec2-user@ip-172-31-23-50 ~]$ curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

然后我登录在该节点上运行的容器,

docker exec -it container-name /bin/bash

 root@ip-172-31-24-234:/# curl google.com

我无法访问(什么也没有出现)。

所以,我检查了

ECS Service
的安全组。

但是允许所有出站连接

enter image description here

测试

在EC2节点上,我尝试运行另一个容器(因为我想测试不受ECS服务管理的容器)。

docker run -it ubuntu

然后

install curl
并在这个
curl
容器中尝试
ubuntu
,我可以从容器连接到外部。

所以问题只发生在 ECS 托管容器中,

我的任务定义是

CDK
做的,也许这个网络模式有关....??

const adminTaskDefinition = new ecs.Ec2TaskDefinition(this, 'AdminTaskDefinition', {
  networkMode: ecs.NetworkMode.AWS_VPC,
})
amazon-web-services docker amazon-ecs
1个回答
1
投票

也许在任务定义中设置网络模式 = 主机。

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