浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置

  1. Dockerfile 确保监听 80 端口

    复制代码
    EXPOSE 80
    CMD ["nginx", "-g", "daemon off;"]

    复制代码
    EXPOSE 80
    CMD ["python3", "-m", "http.server", "80"]
  2. 任务定义(Task Definition)

    • 设置 容器端口为 80

    • 映射到宿主机端口(如果是 EC2 模式)

    • 如果是 Fargate,只需定义容器端口即可


✅ 二、服务启动(Service)

  • 使用该 Task Definition 创建 ECS 服务

  • 网络模式(Fargate 通常用 awsvpc,EC2 可用 bridgehost


✅ 三、负载均衡(可选但推荐)

🔹 方式 A:使用 Application Load Balancer(ALB)
  1. 创建 ALB(或者使用已有的)

  2. 创建一个 Target Group,目标类型为 IP 或 instance

  3. 配置 ECS 服务时,绑定该 Load Balancer

  4. 配置监听器:

    • HTTP(端口 80) -> Forward 到 Target Group
🔹 方式 B:不使用负载均衡(仅限 EC2 模式)

如果你用的是 EC2 Launch Type 并且将容器绑定在 EC2 主机的 80 端口:

  • 直接通过 EC2 实例公网 IP 访问,例如:

    复制代码
    http://<EC2 公网 IP>

✅ 四、安全组设置

  1. ECS 服务关联的安全组

    • 开放端口 80,来源为 0.0.0.0/0(公网访问)
  2. 如果使用 ALB

    • ALB 的安全组也要开放 80

    • 容器的安全组允许来自 ALB 的访问(源为 ALB 安全组)


✅ 五、VPC 子网和路由

  • ECS 任务或服务必须运行在 公有子网(子网的路由表连通到 Internet Gateway)

  • Fargate 模式必须开启 Auto-assign public IP


✅ 六、测试访问

如果都设置正确,访问 URL 如下:

示例:
  • 使用 ALB:

    复制代码
    http://<ALB-DNS-NAME>
  • 使用 EC2:

    复制代码
    http://<EC2-Public-IP>

搭建完成

相关推荐
AI小小怪15 分钟前
在Linux服务器上安装CVAT (Docker 28.5.1)
运维·docker·容器·数据标注·cvat
小坏讲微服务2 小时前
Docker-compose 搭建Maven私服部署
java·spring boot·后端·docker·微服务·容器·maven
!chen2 小时前
k8s-Pod中的网络通信
网络·docker·kubernetes
余—笙4 小时前
Linux(docker)安装搭建CuteHttpFileServer/chfs文件共享服务器
linux·服务器·docker
wanhengidc5 小时前
云手机的基本原理
运维·服务器·游戏·智能手机·云计算
芥子沫5 小时前
《玩转Docker》[应用篇13]:Docker安装部署Emby及使用技巧:家庭媒体服务器
docker·视频·emby
爱宇阳6 小时前
从容器化到自动化:Spring Boot 项目 Docker 部署与 GitLab CI/CD 集成 Harbor 全流程
spring boot·docker·自动化
PKNLP8 小时前
07.docker介绍与常用命令
运维·docker·容器
亚林瓜子9 小时前
在amazon linux 2023上面源码手动安装tesseract5.5.1
linux·运维·服务器·ocr·aws·ec2
人工智能训练10 小时前
在ubuntu系统中如何将docker安装在指定目录
linux·运维·服务器·人工智能·ubuntu·docker·ai编程