YApi搭建 -- docker

本文详细介绍了如何在CentOS7系统中使用Docker部署Yapi接口管理工具和MongoDB数据库。首先通过wget下载并安装node v12.5.0,接着安装MongoDB并配置环境变量,然后使用npm安装Yapi并创建启动链接。最后,通过Docker拉取并运行Yapi镜像,成功启动Yapi服务。过程中遇到了因node版本过高导致的错误,通过降级node版本解决。
摘要由CSDN通过智能技术生成

环境

参考 https://zhuanlan.zhihu.com/p/94297858
centos 7
docker
node 12.5

推荐方法二

方法一

安装node

参考链接

cd /usr/local
mkdir node
cd node
wget https://npm.taobao.org/mirrors/node/v12.5.0/node-v12.5.0-linux-x64.tar.gz
 
ls -l

tar -zxvf node-v12.5.0-linux-x64.tar.gz
pwd
ls

rm -rf /usr/local/bin/npm
rm -rf /usr/local/bin/node


ln -s /usr/local/node/node-v12.5.0-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/local/node/node-v12.5.0-linux-x64/bin/node /usr/local/bin/node

npm run build




安装monogo

https://www.runoob.com/mongodb/mongodb-linux-install.html

centos

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.4.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.4.tgz                               # 解压

mv mongodb-linux-x86_64-rhel70-4.4.4  /usr/local/mongodb4                          # 将解压包拷贝到指定目录


vi /etc/profile 
Go
# 加入mongodb4变量
export PATH=/usr/local/mongodb4/bin:$PATH

source /etc/profile  
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongo     # 设置权限
sudo chown `whoami` /var/log/mongodb   # 设置权限
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

lsof -i:27017 

安装yapi

 

#安装

cd /usr/local/node
npm install -g yapi-cli --registry https://registry.npm.taobao.org

ln -s /usr/local/node/node-v12.5.0-linux-x64/bin/yapi  /usr/local/bin/yapi 
# 启动
yapi server
 
  
 

安装配置

http://localhost:9090
打开yapi的服务器 9090

安装目录什么的 填 一下
公司名称
部署目录 在这果


cd /usr/local/node/my-yapi
node vendors/server/app.js


初始化管理员账号成功,账号名:“admin@admin.com”,密码:“ymfe.org”

部署成功,请切换到部署目录,输入: “node vendors/server/app.js” 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问

方法二部署

https://www.cnblogs.com/binz/p/12684610.html

  docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
  mkdir -p /data/yapi/mongodata
  docker run --restart always -v /data/yapi/mongodata:/data/db -d --name yapimongo mongo
  docker run -it --rm --link yapimongo:mongo --entrypoint npm --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server
  docker run -d  --restart=always --name yapi  --link yapimongo:mongo --workdir /api/vendors  -p 3001:3000  registry.cn-hangzhou.aliyuncs.com/anoy/yapi  server/app.js

然后可以了
http://localhost:9090

配置swagger同步

http://ip:port/v2/api-docs

http://10.1.71.39:8027/v2/api-docs

安装日志

[root@localhost ~]# 
[root@localhost ~]# docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
Using default tag: latest
latest: Pulling from anoy/yapi
e7c96db7181b: Already exists 
72484f09da35: Pull complete 
86bee4bed5f2: Pull complete 
f9e983f0fe2c: Pull complete 
60b427281623: Pull complete 
148cae4613db: Pull complete 
Digest: sha256:a34daaf6cf64c55fb849d92452009ff312636c05365cf02965f6871b8fbff0c5
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/anoy/yapi:latest
registry.cn-hangzhou.aliyuncs.com/anoy/yapi:latest
[root@localhost ~]# mkdir -p /data/yapi/mongodata
[root@localhost ~]# docker run --restart always -v /data/yapi/mongodata:/data/db -d --name yapimongo mongo
9a8efc5102d8fdc3917dc9bdcf1fea0cd75c0cec4674535eb40257defb24b2ae
[root@localhost ~]# docker run -it --rm --link yapimongo:mongo --entrypoint npm --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server

> yapi-vendor@1.8.5 install-server /api/vendors
>  node server/install.js

log: mongodb load success...
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
[root@localhost ~]# docker run -d  --restart=always --name yapi  --link yapimongo:mongo --workdir /api/vendors  -p 3001:3000  registry.cn-hangzhou.aliyuncs.com/anoy/yapi  server/app.js
c586b87a9e384faaae14804b08181ac4d7b9383df726d23db7d1d199a14ea18a
[root@localhost ~]# 
[root@localhost ~]# 
开始遇到的坑

node
但是报错了 。

node:internal/process/promises:227
          triggerUncaughtException(err, true /* fromPromise */);
          ^

<ref *1> Error: getaddrinfo ENOTFOUND yapi.demo.qunar.com
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:69:26) {
  errno: -3008,
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'yapi.demo.qunar.com',

一顿操作猛如虎,一看结果triggerUncaughtException,

百度说是node 版本高了

去官网看了,也说版本不要太高

[root@icpuat1 ~]# node -v
v15.8.0
[root@icpuat1 ~]# 
[root@icpuat1 ~]# 
[root@icpuat1 ~]# npm -v
7.5.1
[root@icpuat1 ~]# mongo --version 
MongoDB shell version v4.4.4

重新再来
换一个版本

换了当前的 12.5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值