» Node.js:使用Socket.IO创建Web Chat App在线聊天应用 » 3. 部署 » 3.2 Docker Compose

Docker Compose

Docker Compose 是一个用于定义和运行多容器的 Docker 工具。它允许你使用 YAML 文件配置应用程序的服务、网络和卷,然后使用单个命令启动所有运行所需的容器,包括应用程序的依赖中间件和服务。

添加 compose/docker-compose.yml:

services:
  lr-webchat-node:
    build:
      context: ../
      dockerfile: Dockerfile
    ports:
      - 4000:4000
    environment:
      - PORT=4000
  lr-webchat-react:
    build:
      context: ../../lr_webchat
      dockerfile: Dockerfile
    ports:
      - 3000:3000
    environment:
      - CHAT_SERVER_URL="http://lr-webchat-node:4000"
    depends_on:
      lr-webchat-node:
        condition: service_started

运行所有服务:

cd compose
docker compose up

你将看到如下内容:

[+] Running 2/1
 ✔ Container compose-lr-webchat-node-1   Created                                                                                                                                                0.1s 
 ✔ Container compose-lr-webchat-react-1  Created                                                                                                                                                0.0s 
Attaching to lr-webchat-node-1, lr-webchat-react-1
lr-webchat-node-1   | Chat Server listening on port 4000
lr-webchat-react-1  |  INFO  Accepting connections at http://localhost:3000
...

现在,如果你访问页面 http://localhost:3000/ ,你将看到聊天应用的完整UI。

你的 Web 聊天应用 Chat App 成功啦! 📢