irpas技术客

YApi - 通过 docker 搭建接口管理平台_abee-tester_docker 接口管理

网络 7545

YApi 是比较好用的接口管理平台,通过 docker-compose 搭建记录。

准备工作

CentOS Linux release 7.9.2009 (Core)

Docker 20.10.8

搭建 1. 创建容器网络 $ docker network create --driver bridge --subnet=10.10.0.0/16 --agteway=10.10.0.1 mynet

目的是保证 mangodb 和 yapi 两个容器间可以互相通信。

# 创建工作目录并进入 $ mkdir yapi-compose && cd yapi-compose 2. 创建 mongodb-compose $ vim mongodb-compose.yml version: '3' services: mongodb: image: mongo:4.4.4 # 镜像名 container_name: mongodb # 容器名 volumes: # 数据挂载目录;本地目录:容器目录 - /opt/docker/mongodb:/data/db ports: - 27017:27017 # 端口,宿主机:容器 # environment: # - COMPOSE_PROJECT_NAME=yapi restart: always # 设置默认网络 networks: default: external: name: mynet # 创建的容器网络名 # ESC => :wq ==> Enter 3. 创建 yapi-compose $ vim yapi-compose.yml version: '3' services: yapi: image: jayfong/yapi:latest # 镜像名 container_name: yapi # 容器名 ports: - 3000:3000 # 端口,宿主机:容器 environment: - YAPI_ADMIN_ACCOUNT=admin@easou.com # 登入账号 - YAPI_ADMIN_PASSWORD=admin # 登入密码 - YAPI_CLOSE_REGISTER=true # 关闭注册功能 - YAPI_DB_SERVERNAME=mongodb # mongodb 数据库地址 - YAPI_DB_PORT=27017 # mongodb 端口 - YAPI_DB_DATABASE=yapi # mongodb 数据库名 - YAPI_MAIL_ENABLE=false # 不启用邮箱 - YAPI_LDAP_LOGIN_ENABLE=false # 不启用 loap 登入 - YAPI_PLUGINS=[] # 插件 # - COMPOSE_PROJECT_NAME=yapi restart: always # 设置默认网络 networks: default: external: name: mynet 4. 构建容器 $ docker-compose -p mongodb -f mongodb-compose.yml up -d $ docker-compose -p yapi -f yapi-compose.yml up -d 5. 访问

浏览器输入:http://{ip}:3000

最后

如果遇到问题,可以通过查看日志的方式定位到问题。

$ docker logs -f {container_id}
安装时遇到的错误记录 错误 1: MongoDB 5.0+ requires a CPU with AVX support

问题:mongo 镜像如果不指定版本,会自动下载 latest 版本(5.0+)会出现上面的报错,且容器一直是 restarting 的状态。

解决:理论安装上 5.0 以下的版本都可以,我这里使用 4.4.4 版本安装成功。

错误 2: Error [ValidationError]: user validation failed: username: Path `username` is required.

yapi-compose.yml 文件内,账号必须为邮箱格式,我刚开始图方便设置账号为 admin,一直无法登录,查看日志后发现用户名写入 db 失败,由于没有指定 emailAddress,默认使用用户名代替,报校验失败的错误。

如果成功的话,构建后,日志内会出现如下提示:

始化管理员账号成功,账号名:"admin@easou.cn",密码:"admin" 错误 3: $ mv mongodb-compose.yml docker-compose.yml $ docker-compose -d up $ mv docker-compose.yml mongodb-compose.yml $ mv yapi-compose.yml docker-compose.yml $ docker-compose -d up $ mv docker-compose.yml yapi-compose.yml WARNING: Found orphan containers (name1, name2) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.

注意:刚开始我使用这种方式构建,报错后网上搜索了下,通过 -p 指定项目名称的方式解决。

后来查文档,发现 -p 通过环境变量来指定也行,理论上将 COMPOSE_PROJECT_NAME=xx 放在 conpose 文件内,应该也可以,由于服务已经部署成功,没有再测试,参数我补充在上面的 compose 文件中了,已注释。


完。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Docker #接口管理 #yapi #是比较好用的接口管理平台通过 #dockercompose #搭建记录 #准备工作CentOS #Linux