Nexent Dev Container 使用指南
1. 环境说明
此开发容器配置了一个完整的 Nexent 开发环境,包含以下组件:
- 主要开发容器 (
nexent-dev):基于 nexent/nexent 镜像,添加了开发工具 - 服务容器:
- Elasticsearch (
nexent-elasticsearch) - PostgreSQL (
nexent-postgresql) - MinIO (
nexent-minio) - Nexent 后端 (
nexent) - Nexent 前端 (
nexent-web) - 数据处理服务 (
nexent-data-process)
- Elasticsearch (
2. 使用步骤
2.1 准备工作
- 安装 Cursor
- 安装 Dev Containers 插件 (
anysphere.remote-containers与anysphere.remote-sshRemote) - 确保 Docker 和 Docker Compose 已安装并运行
2.2 使用 Dev Container 启动项目
- 克隆项目到本地
- 在 Cursor 中打开项目文件夹
- 运行
docker/deploy.sh脚本,在infrastructure模式下启动容器 - 进入
nexent-minio与nexent-elasticsearch容器, 将MINIO_ACCESS_KEY,MINIO_SECRET_KEY,ELASTICSEARCH_API_KEY环境变量复制到docker/docker-compose.dev.yml中的相应环境变量位置 - 按下
F1或Ctrl+Shift+P,输入Dev Containers: Reopen in Container ... - Cursor 将根据
.devcontainer目录中的配置启动开发容器
2.3 开发工作流
- 容器启动后,Cursor 会自动连接到开发容器
- 所有文件编辑都在容器内完成
- 进行开发、测试,修改完成后可以直接在容器内构建和运行
- 可以直接在容器内进行 git 的变更管理,如使用
git commit或git push;但不建议在容器内拉取远程代码,容易导致路径问题
3. 端口映射
以下端口已在 devcontainer.json 中配置了映射:
- 3000: Nexent Web 界面
- 5010: Nexent 后端服务
- 5012: 数据处理服务
- 9010: MinIO API
- 9011: MinIO 控制台
- 9210: Elasticsearch API
- 5434: PostgreSQL
4. 自定义开发环境
您可以通过修改以下文件来自定义开发环境:
.devcontainer/devcontainer.json- 插件配置项docker/docker-compose.dev.yml- 开发容器的具体构筑项,需要修改环境变量值才能正常启动
6. 常见问题解决
如果遇到权限问题,可能需要在容器内运行:
bash
sudo chown -R $(id -u):$(id -g) /opt如果容器启动失败,可以尝试:
- 重建容器:按下
F1或Ctrl+Shift+P,输入Dev Containers: Rebuild Container - 检查 Docker 日志:
docker logs nexent-dev - 检查
.env文件中的配置是否正确
