4.5 KiB
4.5 KiB
不使用 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
📝 推荐方案
- 最推荐: 使用
docker compose(Docker Compose V2) - 次推荐: 使用部署脚本(我可以帮你创建)
- 备选: 手动执行 docker 命令
你想使用哪种方式?我可以帮你:
- 测试
docker compose是否可用 - 创建自动化部署脚本
- 提供完整的手动命令清单