参考 https://github.com/Ryan-Miao/docker-yapi , 并使用该代码的脚本构建yapi image。

部署mongodb

docker run  \
--name mongod \
-p 27017:27017 \
-v /data/opt/mongodb/data/configdb:/data/configdb/ \
-v /data/opt/mongodb/data/db/:/data/db/ \
--net tools-net --ip 172.18.0.2 \
-d mongo:4.0 --auth

mongodb如果中途切换版本的话可能会因为不兼容无法读写数据,主要看一下启动日志

初始化数据库

docker exec -it mongod mongo admin
>db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "root", db: "admin" } ] });

验证授权

>db.auth("admin", "admin123456")

返回1表示授权成功,0表示失败

创建yapi数据库用户

db.createUser({
user: 'yapi',
pwd: 'yapi123456',
roles: [
{ role: "dbAdmin", db: "yapi" },
{ role: "readWrite", db: "yapi" }
]
});

部署yapi

构建yapi docker image

https://blog.csdn.net/weixin_33757609/article/details/91414542

##这里选的版本号是1.9.2
sh build.sh 1.9.2

注意config.json的数据库连接配置跟上面的用户名密码一致,ldap登录也在这里加,参考官方文档 https://hellosean1025.github.io/yapi/devops/index.html

{
"port": "3001",
"adminAccount": "admin@admin.com", // 这里必须是个带@的邮箱方式,否则不能启动
"db": {
"servername": "172.18.0.2",
"DATABASE": "yapi",
"port": "27017",
"user": "yapi",
"pass": "yapi123456",
"authSource":"admin"
},
"mail": {
"enable": false,
"host": "smtp.163.com",
"port": 465,
"from": "***@163.com",
"auth": {
"user": "***@163.com",
"pass": "*****"
}
},
"ldapLogin": {
"enable": true,
"server": "ldap://l-ldapt1.com",
"baseDn": "CN=Admin,CN=Users,DC=test,DC=com",
"bindPassword": "password123", // 可不填
"searchDn": "OU=UserContainer,DC=test,DC=com",
"searchStandard": "&(objectClass=person)(uid=%s)" // 使用uid搜索
},
"closeRegister": true // 关闭注册
}

初始化并启动

docker run -d -p 3001:3001 --name yapi yapi --initdb

或者直接启动

docker run -d -p 3001:3001 --name yapi yapi

启动成功后访问 http://127.0.0.1:3001/

接入ldap登录

修改yapi 的 config.json文件

 "ldapLogin": {
"enable": true,
"server": "ldap://abc.xxx.com",
"baseDn": "ou=people,dc=xx,dc=xxx,dc=com",
"bindPassword": "",
"searchDn": "",
"searchStandard": ""
},
"closeRegister": true

顺便搭一个adminMongo用来管理mongodb

docker run  \
--name mongod \
-p 1234:1234 \
-v /config/app.json:/app/user/config/app.json
--net tools-net --ip 172.18.0.2 \
-d mrvautin/adminmongo

注意 app.json的配置,否则可能无法启动

{
"app": {
"host": "0.0.0.0", //IP(注意这里的配置是0.0.0.0,不是服务器IP,在linux不添加此配置,项目无法启动)
"port": 1234, //端口
"username": "admin", //用户名,可不填
"password": "admin123456", //密码,可不填
"locale": "en", //语言,中文zh-cn,可不填
"context": "dbApp", //路由配置:例如:http://0.0.0.0:1234/dbApp,可不填
"monitoring": true //是否定期运行监视,可不填
}
}

Yapi Docker 部署的更多相关文章

  1. Docker构建YApi镜像, Docker安装YApi, Docker部署YApi

    概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...

  2. Center OS 7 通过Docker部署yapi

    Center OS 7 通过Docker部署yapi 版本要求 Linux Center OS 7 安装Docker #Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前 ...

  3. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  4. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  5. 程序开发使用docker部署

    我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...

  6. 我使用celery以及docker部署遇到的问题

    首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...

  7. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  8. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  9. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

随机推荐

  1. 如何运行exe文件

    有三种方式 第一种:找到所在文件双击运行. 第二种:在命令行里面运行所在文件夹的位置,在输入文件名. 第三种:加到环境变量里面执行

  2. Arthas之实例操作

    Arthas之实例操作 1. 静态类属性操作 获取public静态属性 ognl -c 7cd84586 '@com.system.framework.ArtahsDemoClassLoader@pu ...

  3. 从零开始开发一款H5小游戏(二) 创造游戏世界,启动发条

    本系列文章对应游戏代码已开源 Sinuous game 上一节介绍了canvas的基础用法,了解了游戏开发所要用到的API.这篇文章开始,我将介绍怎么运用这些API来完成各种各样的游戏效果.这个过程更 ...

  4. CentOS 7.9 网络配置

    vi /etc/sysconfig/network-scripts/ifcfg-ens33 (45条消息) CentOS 7.9 网络配置_$青的博客-CSDN博客_centos7.9网卡配置

  5. 将项目导入eclipse中出现的jsp页面报错

    图片摘自百度经验,实在是每次都会忘了步骤,每次都得重新百度,所以索性自己总结到博客中,下次如果还记不住就直接从博客中看.原谅我实在学渣,呜呜~~~~(>_<)~~~~

  6. window10解决需要管理员删除文件的权限问题

    1.快捷键:"win+R",输入:gpedit.msc  回车 2.依次点击:计算机配置-windows配置-安全设置-本地策略-安全选项 3.将两个管理员批准模式和管理员状态三者 ...

  7. mixin和composition api

    1. 这两个都是实现组件逻辑复用的法宝 2. composition api是vue3的,  composition api的出现就是解决mixins的不足之处的 一. mixin 回顾下mixin, ...

  8. 用Java编写的猜拳小游戏

    学习目标: 熟练掌握各种循环语句 例题: 代码如下: // 综合案例分析,猜拳案例 // isContinue为是否开始游戏时你所输入的值 char isContinue; //y为开始,n为借宿 S ...

  9. Idea导出jar包和使用自定义API

    自定义jar简单实现案例 学习内容 1. 自定义工具类 2. 导出jar 3. 加载Jar包 4. 调用自定义的API方法 总结 学习内容 1. 自定义工具类 新建一个java项目,然后创建包和工具类 ...

  10. Skipper & Tcl 笔记

    https://www.cnblogs.com/yeungchie/ ski-db 打开一个文件获取 lib 对象 dbImport set file "layout.gds" s ...