wecom-dashboards/deploy/NO-COMPOSE.md

4.5 KiB
Raw Blame History

不使用 docker-compose 的部署方案

如果你没有安装 docker-compose可以使用以下两种方式

方式 1: 使用 Docker Compose V2推荐

Docker Desktop 和新版 Docker 已经内置了 Compose V2命令是 docker compose(注意是空格,不是连字符)。

测试是否可用

docker compose version

如果可用,只需将所有 docker-compose 命令改为 docker compose

# 启动服务
docker compose up -d

# 查看日志
docker compose logs -f

# 停止服务
docker compose down

方式 2: 使用纯 Docker 命令

如果 docker compose 也不可用,可以使用纯 Docker 命令手动启动容器。

1. 创建网络

docker network create wecom-network

2. 构建镜像

构建后端镜像

cd deploy/backend
docker build -t wecom-backend:latest .
cd ../..

构建前端镜像

cd deploy/frontend
docker build -t wecom-frontend:latest .
cd ../..

3. 启动容器

启动后端容器

docker run -d \
  --name wecom-backend \
  --restart always \
  --network wecom-network \
  -p 8080:8080 \
  -v wecom-upload-data:/home/ruoyi/uploadPath \
  -e SPRING_PROFILES_ACTIVE=prod \
  -e TZ=Asia/Shanghai \
  -e SPRING_DATASOURCE_URL="jdbc:mysql://host.docker.internal:3316/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8" \
  -e SPRING_DATASOURCE_USERNAME=root \
  -e SPRING_DATASOURCE_PASSWORD=你的MySQL密码 \
  -e SPRING_REDIS_HOST=host.docker.internal \
  -e SPRING_REDIS_PORT=6379 \
  -e SPRING_REDIS_PASSWORD= \
  --add-host host.docker.internal:host-gateway \
  wecom-backend:latest

启动前端容器

docker run -d \
  --name wecom-frontend \
  --restart always \
  --network wecom-network \
  -p 8081:80 \
  wecom-frontend:latest

4. 常用管理命令

# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 查看后端日志
docker logs -f wecom-backend

# 查看前端日志
docker logs -f wecom-frontend

# 停止容器
docker stop wecom-backend wecom-frontend

# 启动容器
docker start wecom-backend wecom-frontend

# 重启容器
docker restart wecom-backend wecom-frontend

# 删除容器
docker rm -f wecom-backend wecom-frontend

# 删除网络
docker network rm wecom-network

# 删除数据卷
docker volume rm wecom-upload-data

5. 更新部署

更新后端

# 停止并删除旧容器
docker stop wecom-backend
docker rm wecom-backend

# 重新构建镜像
cd deploy/backend
docker build -t wecom-backend:latest .
cd ../..

# 启动新容器(使用上面的 docker run 命令)
docker run -d \
  --name wecom-backend \
  --restart always \
  --network wecom-network \
  -p 8080:8080 \
  -v wecom-upload-data:/home/ruoyi/uploadPath \
  -e SPRING_PROFILES_ACTIVE=prod \
  -e TZ=Asia/Shanghai \
  -e SPRING_DATASOURCE_URL="jdbc:mysql://host.docker.internal:3316/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8" \
  -e SPRING_DATASOURCE_USERNAME=root \
  -e SPRING_DATASOURCE_PASSWORD=你的MySQL密码 \
  -e SPRING_REDIS_HOST=host.docker.internal \
  -e SPRING_REDIS_PORT=6379 \
  -e SPRING_REDIS_PASSWORD= \
  --add-host host.docker.internal:host-gateway \
  wecom-backend:latest

更新前端

# 停止并删除旧容器
docker stop wecom-frontend
docker rm wecom-frontend

# 重新构建镜像
cd deploy/frontend
docker build -t wecom-frontend:latest .
cd ../..

# 启动新容器
docker run -d \
  --name wecom-frontend \
  --restart always \
  --network wecom-network \
  -p 8081:80 \
  wecom-frontend:latest

方式 3: 使用部署脚本(最简单)

我可以为你创建一个 Shell 脚本,自动执行所有 Docker 命令。

Windows (PowerShell)

创建 deploy.ps1 脚本

Linux/Mac (Bash)

创建 deploy.sh 脚本

需要我创建这些脚本吗?

🔍 检查 Docker Compose 可用性

# 检查 docker-compose旧版
docker-compose --version

# 检查 docker compose新版
docker compose version

# 检查 Docker 版本
docker --version

📝 推荐方案

  1. 最推荐: 使用 docker composeDocker Compose V2
  2. 次推荐: 使用部署脚本(我可以帮你创建)
  3. 备选: 手动执行 docker 命令

你想使用哪种方式?我可以帮你:

  • 测试 docker compose 是否可用
  • 创建自动化部署脚本
  • 提供完整的手动命令清单