-
README文件中的Docker命令存在误导:当前命令未修改databaseurl参数,导致数据库文件始终无法正确传递和使用。需修正README中的相关Docker命令,明确databaseurl配置流程。
-
Docker Compose目前仅依赖本地镜像编辑,并未直接连接到已推送至远程仓库的镜像。建议优化Docker Compose配置,使其支持拉取远程镜像,提升部署与协作效率。
关键参考片段与代码
README.md & README.zh.md 演示段落(未包括DATABASE_URL相关说明)
|
#### Using Docker Compose |
|
|
|
```bash |
|
# Start service (creates and runs container) |
|
docker-compose -f docker/docker-compose.yml up -d |
|
|
|
# View logs |
|
docker-compose -f docker/docker-compose.yml logs -f zenblock |
|
|
|
# Stop service |
|
docker-compose -f docker/docker-compose.yml down |
|
``` |
|
|
|
#### Using Docker Commands |
|
|
|
```bash |
|
# Build image |
|
docker build -f docker/Dockerfile -t zenblock . |
|
|
|
# Run container with data persistence |
|
docker run -d \ |
|
--name zenblock \ |
|
-p 3000:3000 \ |
|
-v ./zenblock-data:/app/data \ |
|
zenblock |
|
|
|
# View logs |
|
docker logs -f zenblock |
|
|
|
# Stop and remove container |
|
docker stop zenblock && docker rm zenblock |
|
``` |
|
|
|
#### Docker Configuration Details |
|
|
|
The Docker setup includes: |
|
- ✅ **Automatic database migration** on startup |
|
- ✅ **Data persistence** - SQLite database stored in `./zenblock-data/` on your host |
|
- ✅ **Health checks** - Container monitors application health every 30s |
|
- ✅ **Production optimization** - Uses Next.js standalone output for minimal image size |
|
- ✅ **Auto-restart** - Container restarts automatically on failure (unless-stopped policy) |
|
|
|
**Data Location**: |
|
- Database files are stored in `./zenblock-data/dev.db` on your local machine |
|
- You can backup/restore by copying this directory |
|
- Data persists even if you remove and recreate containers |
|
|
|
**Access Application**: |
|
- 🇨🇳 Chinese: http://localhost:3000/zh |
|
- 🇬🇧 English: http://localhost:3000/en |
|
|
|
--- |
|
|
|
#### 使用 Docker Compose |
|
|
|
```bash |
|
# 启动服务(创建并运行容器) |
|
docker-compose -f docker/docker-compose.yml up -d |
|
|
|
# 查看日志 |
|
docker-compose -f docker/docker-compose.yml logs -f zenblock |
|
|
|
# 停止服务 |
|
docker-compose -f docker/docker-compose.yml down |
|
``` |
|
|
|
#### 使用 Docker 命令 |
|
|
|
```bash |
|
# 构建镜像 |
|
docker build -f docker/Dockerfile -t zenblock . |
|
|
|
# 运行容器(带数据持久化) |
|
docker run -d \ |
|
--name zenblock \ |
|
-p 3000:3000 \ |
|
-v ./zenblock-data:/app/data \ |
|
zenblock |
|
|
|
# 查看日志 |
|
docker logs -f zenblock |
|
|
|
# 停止并删除容器 |
|
docker stop zenblock && docker rm zenblock |
|
``` |
|
|
|
#### Docker 配置详情 |
|
|
|
Docker 部署包含以下特性: |
|
- ✅ **自动数据库迁移** - 容器启动时自动执行 |
|
- ✅ **数据持久化** - SQLite 数据库存储在主机的 `./zenblock-data/` 目录 |
|
- ✅ **健康检查** - 容器每30秒自动检查应用健康状态 |
|
- ✅ **生产优化** - 使用 Next.js standalone 输出,镜像体积最小 |
|
- ✅ **自动重启** - 容器失败时自动重启(unless-stopped 策略) |
|
|
|
**数据存储位置**: |
|
- 数据库文件存储在本地 `./zenblock-data/dev.db` |
|
- 可以通过复制此目录进行备份/恢复 |
|
- 即使删除并重建容器,数据也不会丢失 |
|
|
|
**访问应用**: |
|
- 🇨🇳 中文版:http://localhost:3000/zh |
|
- 🇬🇧 英文版:http://localhost:3000/en |
|
|
|
--- |
当前容器启动命令为:
docker run -d \
--name zenblock \
-p 3000:3000 \
-v ./zenblock-data:/app/data \
zenblock
实际需要确保环境变量 DATABASE_URL 正确传递,可使用如下方式:
docker run -d \
--name zenblock \
-p 3000:3000 \
-v ./zenblock-data:/app/data \
-e DATABASE_URL="file:/app/data/dev.db" \
zenblock
并建议在README中明确此步骤,避免数据库未同步或数据丢失。
Docker Compose远程镜像优化参考
建议在 docker-compose.yml 配置中使用已推送远程仓库镜像,而不仅仅是本地构建。例如:
services:
zenblock:
image: malossov/zenblock:latest
ports:
- "3000:3000"
volumes:
- ./zenblock-data:/app/data
environment:
- DATABASE_URL=file:/app/data/dev.db
当前文档描述仅参考本地镜像运行,建议增加如何拉取和运行仓库已发布镜像的描述。例如:
docker-compose -f docker/docker-compose.yml up -d
# 配置 `image: malossov/zenblock:latest` 以支持远程获取
相关源码/脚本
请修订README和Docker文档,将上述命令与镜像配置优化,加以说明与演示,提升用户部署体验。
README文件中的Docker命令存在误导:当前命令未修改databaseurl参数,导致数据库文件始终无法正确传递和使用。需修正README中的相关Docker命令,明确databaseurl配置流程。
Docker Compose目前仅依赖本地镜像编辑,并未直接连接到已推送至远程仓库的镜像。建议优化Docker Compose配置,使其支持拉取远程镜像,提升部署与协作效率。
关键参考片段与代码
README.md & README.zh.md 演示段落(未包括DATABASE_URL相关说明)
zenblock/README.md
Lines 95 to 147 in 872d765
zenblock/README.zh.md
Lines 95 to 146 in 872d765
当前容器启动命令为:
实际需要确保环境变量
DATABASE_URL正确传递,可使用如下方式:docker run -d \ --name zenblock \ -p 3000:3000 \ -v ./zenblock-data:/app/data \ -e DATABASE_URL="file:/app/data/dev.db" \ zenblock并建议在README中明确此步骤,避免数据库未同步或数据丢失。
Docker Compose远程镜像优化参考
建议在
docker-compose.yml配置中使用已推送远程仓库镜像,而不仅仅是本地构建。例如:当前文档描述仅参考本地镜像运行,建议增加如何拉取和运行仓库已发布镜像的描述。例如:
相关源码/脚本
ENV DATABASE_URL="file:./prisma/dev.db",外部持久化路径和环境变量传递需说明。请修订README和Docker文档,将上述命令与镜像配置优化,加以说明与演示,提升用户部署体验。