后端

步骤一:为后端应用创建 Docker 镜像

  1. 编写 Dockerfile
    在你的后端项目根目录下创建一个名为 Dockerfile 的文件,内容如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    FROM node:14
    WORKDIR /usr/src/app

    COPY package*.json ./
    RUN npm install

    # 如果使用 TypeScript,进行编译
    COPY tsconfig.json ./
    COPY src ./src
    RUN npm run build

    # 复制所有源代码
    COPY . .

    # 暴露应用运行的端口
    EXPOSE 8080

    # 启动命令
    CMD [ "npm", "start" ]
    2.推送docker
    1
    2
    3
    docker build -t your_dockerhub_username/your_app_name:latest .
    docker login
    docker push your_dockerhub_username/your_app_name:latest

    步骤二:在 AWS ECS 上部署容器

  2. 创建 ECS 集群
  • 点击 “Clusters”,然后点击 “Create Cluster”。
  • 选择 “Networking Only”(适用于 Fargate)。
  • Create
  1. 创建任务定义
  • Create new Task Definition
  • 选择 “FARGATE”
  1. 添加容器:
  • Add container
    1
    2
    3
    4
    Container name:express-container
    Image:your_dockerhub_username/your_app_name:latest
    Port mappings:容器端口设置为 8080。
    Environment variables:添加需要的环境变量,特别是数据库连接信息(推荐使用 AWS Secrets Manager)。
  1. 创建服务
  • Services -> Create

  • 配置服务:

    Launch Type:FARGATE

    Task Definition:选择刚创建的任务定义。

    Cluster:express-app-cluster

    Service Name:express-app-service

    Number of tasks:1

  • 配置网络:

    Cluster VPC:选择你的 VPC(要和数据库vpc相同)

    Subnets:选择公共子网(以便从互联网访问)。

    Security Groups:创建或选择一个安全组,允许入站端口 8080。

    Load Balancer(可选但推荐):

如果需要负载均衡和自动扩展,选择 “Application Load Balancer”。
配置监听器和目标组,将流量转发到容器端口 8080。
点击 “Next step”,然后 “Create Service”。