sandman2部署指南:如何在Docker容器中快速部署和运行
sandman2部署指南:如何在Docker容器中快速部署和运行
【免费下载链接】sandman2Automatically generate a RESTful API service for your legacy database. No code required!项目地址: https://gitcode.com/gh_mirrors/sa/sandman2
sandman2是一款能够为遗留数据库自动生成RESTful API服务的强大工具,无需编写任何代码即可实现数据库的API化。本指南将详细介绍如何在Docker容器中快速部署和运行sandman2,让你轻松搭建属于自己的数据库API服务。
📋 准备工作:环境与依赖
在开始部署之前,请确保你的系统已安装以下工具:
- Docker Engine(推荐版本19.03或更高)
- Git(用于克隆项目代码)
🔄 第一步:获取sandman2项目代码
通过以下命令克隆官方仓库到本地:
git clone https://gitcode.com/gh_mirrors/sa/sandman2 cd sandman2🐳 第二步:了解Docker配置文件
项目提供了两个Dockerfile配置文件,分别位于不同目录:
根目录Dockerfile
位于项目根目录的Dockerfile配置了基础Python环境,并暴露80端口:
FROM python:3-alpine RUN apk add postgresql-dev musl libffi-dev musl-dev gcc COPY start.sh /start.sh RUN pip install sandman2 psycopg2 pymysql EXPOSE 80 CMD ["/start.sh"]dockerfiles目录专用配置
位于dockerfiles/Dockerfile的配置文件使用5000端口,适合本地开发测试:
FROM python:3-alpine RUN apk add postgresql-dev musl libffi-dev musl-dev gcc COPY start.sh /start.sh RUN pip install sandman2 psycopg2 pymysql EXPOSE 5000 CMD ["/start.sh"]🚀 第三步:构建Docker镜像
根据需求选择合适的Dockerfile进行镜像构建:
使用根目录配置构建(生产环境)
docker build -t sandman2:latest .使用专用目录配置构建(开发环境)
docker build -t sandman2:dev -f dockerfiles/Dockerfile .🔧 第四步:配置数据库连接参数
sandman2支持多种数据库类型,通过环境变量配置连接信息。核心配置参数如下:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
| DB_TYPE | 数据库类型 | sqlite/postgresql/mysql |
| DB_DRIVER | 数据库驱动 | pysqlite/psycopg2/pymysql |
| DATABASE | 数据库名称 | ./db.sqlite3 |
| USERNAME | 数据库用户名 | dbuser |
| PASSWORD | 数据库密码 | dbpass |
| DB_HOST | 数据库主机 | db.example.com |
| DB_PORT | 数据库端口 | 5432 |
🏃 第五步:启动Docker容器
根据数据库类型选择相应的启动命令:
SQLite数据库(文件型)
docker run -d -p 80:80 \ -v $(pwd)/db.sqlite3:/db.sqlite3 \ -e DB_TYPE=sqlite \ -e DB_DRIVER=pysqlite \ -e DATABASE=/db.sqlite3 \ --name sandman2 sandman2:latestPostgreSQL数据库
docker run -d -p 80:80 \ -e DB_TYPE=postgresql \ -e DB_DRIVER=psycopg2 \ -e USERNAME=postgres \ -e PASSWORD=secret \ -e DB_HOST=postgres-host \ -e DB_PORT=5432 \ -e DATABASE=mydb \ --name sandman2 sandman2:latestMySQL数据库
docker run -d -p 80:80 \ -e DB_TYPE=mysql \ -e DB_DRIVER=pymysql \ -e USERNAME=root \ -e PASSWORD=secret \ -e DB_HOST=mysql-host \ -e DB_PORT=3306 \ -e DATABASE=mydb \ --name sandman2 sandman2:latest✅ 第六步:验证部署结果
容器启动后,通过以下步骤验证服务是否正常运行:
- 检查容器状态:
docker ps | grep sandman2访问API服务首页: 打开浏览器访问
http://localhost:80,你将看到sandman2的管理界面。测试API端点: 使用curl命令测试基础API功能:
curl http://localhost:80/api/⚙️ 高级配置:自定义启动脚本
项目提供了dockerfiles/start.sh启动脚本,支持自动判断数据库类型并配置连接:
#!/bin/sh # Start sandman2 if [ "$DB_TYPE" = "sqlite" ]; then sandman2ctl $DB_TYPE+$DB_DRIVER:////$DATABASE else sandman2ctl $DB_TYPE+$DB_DRIVER://$USERNAME:$PASSWORD@$DB_HOST:$DB_PORT/$DATABASE fi你可以根据需要修改此脚本,添加自定义启动逻辑或环境检查。
📚 相关资源
- 官方文档:docs/
- 示例配置:examples/
- 测试用例:tests/
通过以上步骤,你已经成功在Docker容器中部署并运行了sandman2服务。现在,你可以通过简单的HTTP请求来操作你的数据库,实现数据的增删改查功能,而无需编写任何后端代码!
【免费下载链接】sandman2Automatically generate a RESTful API service for your legacy database. No code required!项目地址: https://gitcode.com/gh_mirrors/sa/sandman2
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
