Docker 使用

Docker Compose

2. 启动所有服务

docker compose up -d

3. 查看服务状态

docker compose ps

4. 查看日志

# 所有服务日志
docker compose logs -f

# 单个服务日志
docker compose logs -f server
docker compose logs -f operation
docker compose logs -f portal
docker compose logs -f postgres

5. 停止服务

docker compose down

6. 停止并删除数据卷

docker compose down -v

添加环境变量

docker-compose.ymlenvironment 部分添加:

server:
  environment:
    - KEY=VALUE

故障排查

服务无法启动

检查日志:

docker compose logs <service-name>

数据库连接失败

确保 PostgreSQL 服务已启动:

docker compose ps postgres

端口冲突

检查端口占用:

# Windows PowerShell
netstat -ano | findstr :6001

网络问题

如果遇到网络问题(如无法拉取镜像),可以:

  1. 配置 Docker 镜像加速器(推荐使用国内镜像源)
  2. 或者先手动拉取基础镜像:
    docker pull node:24.14.1-alpine
    docker pull postgres:18.3-alpine3.23

生产环境部署

建议在生产环境中:

  1. 配置持久化存储
  2. 设置资源限制

示例 docker-compose.prod.yml

version: '3.8'

services:
  server:
    environment:
      - NODE_ENV=production
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 512M

# ... 其他服务配置

启动命令:

docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d

重新构建镜像

docker compose up -d --build

重新构建镜像: Dockerfile 改了但缓存导致问题, 依赖没更新(cache 命中),镜像异常/损坏

docker compose build --no-cache
docker volume ls