# 不使用 docker-compose 的部署方案 如果你没有安装 docker-compose,可以使用以下两种方式: ## 方式 1: 使用 Docker Compose V2(推荐) Docker Desktop 和新版 Docker 已经内置了 Compose V2,命令是 `docker compose`(注意是空格,不是连字符)。 ### 测试是否可用 ```bash docker compose version ``` 如果可用,只需将所有 `docker-compose` 命令改为 `docker compose`: ```bash # 启动服务 docker compose up -d # 查看日志 docker compose logs -f # 停止服务 docker compose down ``` ## 方式 2: 使用纯 Docker 命令 如果 `docker compose` 也不可用,可以使用纯 Docker 命令手动启动容器。 ### 1. 创建网络 ```bash docker network create wecom-network ``` ### 2. 构建镜像 #### 构建后端镜像 ```bash cd deploy/backend docker build -t wecom-backend:latest . cd ../.. ``` #### 构建前端镜像 ```bash cd deploy/frontend docker build -t wecom-frontend:latest . cd ../.. ``` ### 3. 启动容器 #### 启动后端容器 ```bash 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 ``` #### 启动前端容器 ```bash docker run -d \ --name wecom-frontend \ --restart always \ --network wecom-network \ -p 8081:80 \ wecom-frontend:latest ``` ### 4. 常用管理命令 ```bash # 查看运行中的容器 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. 更新部署 #### 更新后端 ```bash # 停止并删除旧容器 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 ``` #### 更新前端 ```bash # 停止并删除旧容器 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 可用性 ```bash # 检查 docker-compose(旧版) docker-compose --version # 检查 docker compose(新版) docker compose version # 检查 Docker 版本 docker --version ``` ## 📝 推荐方案 1. **最推荐**: 使用 `docker compose`(Docker Compose V2) 2. **次推荐**: 使用部署脚本(我可以帮你创建) 3. **备选**: 手动执行 docker 命令 你想使用哪种方式?我可以帮你: - 测试 `docker compose` 是否可用 - 创建自动化部署脚本 - 提供完整的手动命令清单