本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

用于构建json-server应用的Docker镜像。
该镜像会自动为您设置应用,您只需挂载“数据库源文件”(约定名称为db.js)即可。您还可以选择挂载middleware.js和routes.json文件。
镜像版本基于json-server的发布版本,但并非每个版本都有对应的镜像。可在此处查看可用版本。
容器有两种方式运行json-server命令行工具。默认情况下会直接运行,您也可以通过nodemon运行(需将命令改为npm run dev),镜像已通过npm配置好此方式。
version: '3' services: json-server: image: codfish/json-server command: npm run dev volumes: - ./db.js:/app/db.js - ./routes.json:/app/routes.json:delegated - ./middleware.js:/app/middleware.js:delegated
直接测试镜像可运行:
git clone ***:codfish/json-server-docker.git cd json-server-docker docker-compose up -d
推荐安装dotdocker,之后容器可通过<[***]>访问。
json-server命令行选项详情:<[***]>
该镜像主要依赖json-server默认选项,但对--port和--host等选项设置了更适合容器环境的默认值。支持通过环境变量覆盖几乎所有选项:
| 选项 | 描述 | 默认值 |
|---|---|---|
PORT | 设置端口 | 80 |
HOST | 设置主机 | 0.0.0.0 |
ROUTES | 路由文件路径 | routes.json(镜像内置,可挂载覆盖) |
MIDDLEWARES | 中间件文件路径 | middleware.js(镜像内置,可挂载覆盖) |
CONFIG | 配置文件路径 | 遵循json-server默认值 |
ID | 设置数据库ID属性(例如:address) | 遵循json-server默认值 |
FKS | 设置外键后缀(例如:Address,如contractAddress中的Address) | 遵循json-server默认值 |
DELAY | 为响应添加延迟(毫秒) | - |
STATIC | 设置静态文件目录 | 遵循json-server默认值 |
QUIET | 抑制日志输出 | 仅在设置时为true(布尔标志) |
NO_GZIP | 禁用GZIP内容编码 | 仅在设置时为true(布尔标志) |
NO_CORS | 禁用跨域资源共享 | 仅在设置时为true(布尔标志) |
READ_ONLY | 仅允许GET请求 | 仅在设置时为true(布尔标志) |
本地开发推荐配置(含可选覆盖选项):
services: json-server: image: codfish/json-server command: npm run dev volumes: - ./db.js:/app/db.js:delegated - ./routes.json:/app/routes.json:delegated - ./middleware.js:/app/middleware.js:delegated environment: VIRTUAL_HOST: json-server.docker FKS: Address ID: address NO_CORS: 'true' NO_GZIP: 'true'
构建模拟API时,可使用镜像内置的Lodash和faker.js生成假数据。示例db.js文件:
const faker = require('faker'); const times = require('lodash/times'); const startCase = require('lodash/startCase'); module.exports = () => ({ posts: times(100, index => ({ id: index, title: startCase(faker.lorem.words(3)), body: faker.lorem.paragraphs(3), // 其他字段... })), });
Dockerfile中更新json-server版本docker-compose up -d --build
访问<[***]>,修改db.js、routes.json或middleware.js后刷新页面即可测试更改。
新版本:
git tag -f -m 'v0.17.0' v0.17.0 git push origin v0.17.0
更新旧版本(仅修改镜像实现时):
git tag -fa v0.16.1 -m "Update v0.16.1 tag" && git push origin v0.16.1 --force
Docker Hub会在GitHub推送新标签时自动构建镜像。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429