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
文件中的配置是否正确