2.7 KiB
2.7 KiB
ToolsShow 项目 Docker 运行指南(仅 docker run)
本文档只针对当前项目,使用 docker build + docker run 启动,不使用 Compose。
1. 前提
- 已安装 Docker
- 在项目根目录执行命令:
C:/Users/User/WebstormProjects/ToolsShow
先验证 Docker:
docker version
2. 准备环境变量文件
本项目后端需要 .env。推荐直接基于模板创建:
cp server/.env.example server/.env
Windows PowerShell 可用:
Copy-Item server/.env.example server/.env
至少确认以下项存在(server/.env):
PORT=3000
DATABASE_URL="file:./dev.db"
JWT_ACCESS_SECRET=change_this_access_secret
JWT_REFRESH_SECRET=change_this_refresh_secret
说明:
- 当前项目 Prisma 使用
SQLite(server/prisma/schema.prisma)。 DATABASE_URL="file:./dev.db"对应数据库文件在容器内路径/app/server/prisma/dev.db。
3. 构建镜像
在项目根目录执行:
docker build -t toolsshow:latest .
4. 启动容器(只用 docker run)
4.1 最小启动命令
docker run -d \
--name toolsshow-app \
-p 3000:3000 \
--env-file ./server/.env \
toolsshow:latest
4.2 推荐启动命令(带 SQLite 持久化)
建议挂载 server/prisma,保证数据库文件重建容器后仍保留:
docker run -d \
--name toolsshow-app \
-p 3000:3000 \
--env-file ./server/.env \
-v toolsshow_prisma:/app/server/prisma \
toolsshow:latest
说明:
- 容器启动命令已在
Dockerfile中定义:npx prisma migrate deploy && node dist/main。 - 首次启动会自动执行数据库迁移。
5. 常用运维命令
查看运行状态:
docker ps
查看日志:
docker logs -f toolsshow-app
停止/启动容器:
docker stop toolsshow-app
docker start toolsshow-app
删除容器(不会删除命名卷):
docker rm -f toolsshow-app
查看卷:
docker volume ls
删除 SQLite 数据卷(危险操作,会清数据):
docker volume rm toolsshow_prisma
6. 访问地址
- 应用地址:
http://localhost:3000 - 若启动后无法访问,请先看日志:
docker logs toolsshow-app
7. 一次性复制命令(推荐)
docker build -t toolsshow:latest . && \
docker rm -f toolsshow-app 2>/dev/null || true && \
docker run -d --name toolsshow-app -p 3000:3000 --env-file ./server/.env -v toolsshow_prisma:/app/server/prisma toolsshow:latest
PowerShell 对应写法:
docker build -t toolsshow:latest .
docker rm -f toolsshow-app 2>$null
docker run -d --name toolsshow-app -p 3000:3000 --env-file ./server/.env -v toolsshow_prisma:/app/server/prisma toolsshow:latest