
denimgroup/crudapitn-crud-api是一个预配置的RESTful API服务Docker镜像,旨在提供快速部署的数据管理后端解决方案。该镜像封装了完整的CRUD操作功能,允许开发人员和系统管理员无需从零开始构建API服务,即可快速实现对数据库资源的管理。
bashdocker run -d -p 3000:3000 --name tn-crud-api \ -e DATABASE_URL="mysql://user:password@host:port/dbname" \ -e API_PREFIX="/api" \ -e AUTH_ENABLED="false" \ tn-crud-api:latest
yamlversion: '3' services: api: image: tn-crud-api:latest ports: - "3000:3000" environment: - DATABASE_URL="postgresql://user:password@db:5432/mydatabase" - API_PREFIX="/api/v1" - PORT=3000 - AUTH_ENABLED="true" - AUTH_SECRET="your-secret-key" depends_on: - db db: image: postgres:13 environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password - POSTGRES_DB=mydatabase volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data:
| 环境变量 | 描述 | 默认值 | 必需 |
|---|---|---|---|
| DATABASE_URL | 数据库连接URL | 无 | 是 |
| PORT | API服务监听端口 | 3000 | 否 |
| API_PREFIX | API路径前缀 | /api | 否 |
| AUTH_ENABLED | 是否启用认证 | false | 否 |
| AUTH_SECRET | 认证密钥(启用认证时必需) | 无 | 否 |
| LOG_LEVEL | 日志级别 (debug, info, warn, error) | info | 否 |
| CORS_ALLOWED_ORIGINS | 允许的跨域来源 | * | 否 |
| MAX_BODY_SIZE | 请求体最大大小 | 1mb | 否 |
| REQUEST_LIMIT | 每分钟请求限制 | 60 | 否 |
tn-crud-api支持以下数据库类型,通过DATABASE_URL参数指定:
mysql://user:password@host:port/databasepostgresql://user:password@host:port/databasesqlite:///path/to/database.dbmongodb://user:password@host:port/database部署后,默认API端点结构如下:
GET /{API_PREFIX}/{resource} - 获取资源列表GET /{API_PREFIX}/{resource}/{id} - 获取单个资源POST /{API_PREFIX}/{resource} - 创建新资源PUT /{API_PREFIX}/{resource}/{id} - 更新资源DELETE /{API_PREFIX}/{resource}/{id} - 删除资源为确保数据持久化,建议使用Docker卷挂载数据库存储目录或使用外部数据库服务。对于SQLite,可通过以下方式挂载数据卷:
bashdocker run -d -p 3000:3000 \ -v ./data:/app/data \ -e DATABASE_URL="sqlite:////app/data/db.sqlite" \ tn-crud-api:latest
容器内置健康检查机制,可通过以下命令查看服务状态:
bashdocker inspect --format='{{json .State.Health}}' tn-crud-api
查看API服务日志:
bashdocker logs tn-crud-api
实时查看日志:
bashdocker logs -f tn-crud-api
目前不支持直接自定义API端点,需通过修改源代码实现。建议使用API_PREFIX环境变量区分不同版本或服务。
设置AUTH_ENABLED=true并提供AUTH_SECRET,然后在请求头中使用Authorization: Bearer <token>进行认证。
检查数据库连接是否正确,日志中是否有错误信息,确保数据库服务可访问且凭证正确。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务