一句话来描述该工程
利用Docker容器化技术将Raml构建RESTful API的构建动作和数据进行分离,使得任何安装了
docker
的机器都可以一键启动所有服务。
工程包含以下两方面内容:
-
使用了 Raml 设计一个简化版
共享图书馆
系统的RESTful API,并通过 raml2html 文档化API,利用 osprey-mock-service 构建API Mock Server。 -
借助 Docker 将构建动作进行了抽离,封装在独立的
Image
,使用 Docker-compose 将数据和构建进行搭桥并一键启动所有服务。
$ docker-compose up
- api-docs: http://localhost:8082
- mock-server: http://localhost:8088/companies
编辑 docker-compose.yml
文件:
version: '3'
services:
raml:
build: .
ports:
- "8088:8080"
- "8082:8081"
volumes:
- ./data:/app/data
8088
、8082
分别为api-docs和mock-server的端口,更改这两个值即可。
启动后,如果访问http://localhost:8082没有正常出现API文档,可以进入容器,运行下面手动生成API 文档命令查看错误日志:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3d13adb457f3 dojorestfulapiraml_raml "/usr/bin/supervisord" 3 weeks ago Up 6 seconds 0.0.0.0:8088->8080/tcp, 0.0.0.0:8082->8081/tcp dojorestfulapiraml_raml_1
$ docker exec -it 3d13adb457f3 sh
$ npm run docs-generator