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

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 文件中了,已注释。


完。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值