Docker 安装 Yapi

Docker 安装系列        Docker已安装。

1、场景Yapi使用的MongoDB用户信息

1.1 创建自定义 Docker 网络

首先,创建一个自定义的 Docker 网络,以便 MongoDB 和 YApi 容器可以相互通信

[root@flexusx-328569 data]# docker network create yapi-network
48a8836621729c10bf96d0bf7c1735daad7449ae0c648a632b47fe3053f2a768
[root@flexusx-328569 data]#

1.2 部署 MongoDB 容器

        接下来,启动 MongoDB 容器,并将其加入到刚才创建的 yapi-network 中。同时,设置环境变量以初始化管理员用户

docker pull mongo:5.0 

[root@flexusx-328569 data]# docker run -d --restart=always --network yapi-network -p 27017:27017 --name mongo-yapi -v /data/mongdb-yapi/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=hvadmin -e MONGO_INITDB_ROOT_PASSWORD=Hv123456  -d mongo:5.0
f438729acf674b299adb6beeb64f5864d246ad40f443f5f3eb77a71066014949
[root@flexusx-328569 data]# docker exec -it f438 mongo
MongoDB shell version v5.0.30
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cfcb003a-13b5-4ca7-a30f-184bb65cfed1") }
MongoDB server version: 5.0.30
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, seehttps://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forumshttps://community.mongodb.com
> use admin;
switched to db admin
> db.auth("hvadmin","Hv123456");
1
> show users;
{"_id" : "admin.hvadmin","userId" : UUID("9e703b9f-e7b6-426e-98fa-8e118e4c4029"),"user" : "hvadmin","db" : "admin","roles" : [{"role" : "root","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}
>

1.3 创建用户 

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

> use yapi;
switched to db yapi
> db.createUser({user: 'yapi',pwd: 'yapi123',roles: [{ role: "dbAdmin", db: "yapi" },{ role: "readWrite", db: "yapi" }]});
Successfully added user: {"user" : "yapi","roles" : [{"role" : "dbAdmin","db" : "yapi"},{"role" : "readWrite","db" : "yapi"}]
}
> show users;
{"_id" : "yapi.yapi","userId" : UUID("a652d417-8f92-46f6-a55a-0e0092939dac"),"user" : "yapi","db" : "yapi","roles" : [{"role" : "dbAdmin","db" : "yapi"},{"role" : "readWrite","db" : "yapi"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}
> db.createCollection("tseng1");
{ "ok" : 1 }
> 
> db.getCollectionNames();
[ "tseng1" ]
> exit
bye
[root@flexusx-328569 data]#

 测试连接

2、下载

[root@flexusx-328569 data]# docker pull yapipro/yapi:latest
latest: Pulling from yapipro/yapi
cbdbe7a5bc2a: Pull complete 
8f3938f7d3bd: Pull complete 
6e3c12f5dc10: Pull complete 
ce0cb7a9eeee: Pull complete 
33778c009b63: Pull complete 
0a69a898b7c7: Pull complete 
Digest: sha256:163e5d6219107c9eae0e0cd5d2cdbb78d7ef82d992850b1d7c920d8ee0371f9b
Status: Downloaded newer image for yapipro/yapi:latest
[root@flexusx-328569 data]#

3、查看下载

[root@flexusx-328569 data]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
xuxueli/xxl-job-admin   2.4.2               776d09cf1493        2 weeks ago         236MB
mongo                   5.0                 ed1e02a705a3        5 weeks ago         723MB
eclipse-mosquitto       latest              fdc6f47a31a7        6 weeks ago         14.9MB
nacos/nacos-server      v2.4.3              fc86d4833afb        7 weeks ago         286MB
nginx                   1.26.2              f87a52ac001c        3 months ago        188MB
yapipro/yapi            latest              f42f7299bbef        3 years ago         248MB
redis                   6.0.6               1319b1eaa0b7        4 years ago         104MB
mysql                   8.0.18              ed1ffcb5eff3        4 years ago         456MB
[root@flexusx-328569 data]#

4、查看 latest 对应的版本

[root@flexusx-328569 data]# docker image inspect yapipro/yapi:latest | grep -i version"DockerVersion": "","NODE_VERSION=12.22.3","YARN_VERSION=1.22.5",
[root@flexusx-328569 data]#

5、配置文件

[root@flexusx-328569 data]# mkdir -p /data/yapi
[root@flexusx-328569 data]# vim /data/yapi/config.json
[root@flexusx-328569 data]# cat /data/yapi/config.json {"port": "3000","adminAccount": "admin@yapi.com","timeout":12000,"db": {"servername": "mongo-yapi","DATABASE": "yapi","port": 27017,"user": "yapi","pass": "yapi123","authSource": ""},"mail": {"enable": false},"closeRegister": true
}
[root@flexusx-328569 data]#

配置解析

1. port (端口)
  • 描述:指定YApi应用监听的HTTP端口。
  • "3000",表示YApi将监听在3000端口上。
2. adminAccount (管理员账户)
  • 描述:指定初始管理员用户的邮箱地址。在首次安装或初始化时会创建此用户。
  • "yapiadmin@yapi.com",表示管理员的邮箱为yapiadmin@yapi.com
3. timeout (超时时间)
  • 描述:设置请求处理的最大等待时间,单位为毫秒。
  • 120000,表示请求处理的最大等待时间为120秒(2分钟)。
4. db (数据库配置)
  • 描述:包含连接到MongoDB数据库所需的所有信息。
  • 字段解释
    • "servername":MongoDB服务器的主机名或IP地址。在这个例子中,它被设置为"mongodb",这通常意味着MongoDB服务在同一Docker网络中的另一个容器,并且该容器的名称为mongodb
    • "DATABASE":数据库名称,这里是"yapi"
    • "port":MongoDB服务的端口号,默认是27017
    • "user":用于认证的用户名,这里是"yapi"
    • "pass":用于认证的密码,这里是"yapi123"
    • "authSource":认证源数据库,默认为空字符串,表示使用默认的认证机制。如果需要指定特定的认证数据库,可以在这里填入相应的数据库名称,例如"admin"
5. mail (邮件配置)
  • 描述:配置是否启用邮件发送功能,以及相关参数。
  • 字段解释
    • "enable":布尔值,表示是否启用邮件功能。当前设置为false,意味着邮件功能未启用。

6、启动容器

[root@flexusx-328569 yapi]# docker run -d --name yapi --restart always -p 3000:3000 -v /data/yapi/config.json:/yapi/config.json -e MONGO_SERVER=mongo-yapi -e MONGO_PORT=27017 -e MONGO_DB=yapi -e MONGO_USER=yapi -e MONGO_PASS=yapi123 yapipro/yapi:latest server/app.js
666a50fe667566dcafb0db066e68262863f8bd503466b70b52c3823ba25392d2
[root@flexusx-328569 yapi]#

7、查看容器状态

[root@flexusx-328569 yapi]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                      NAMES
666a50fe6675        yapipro/yapi:latest   "node server/app.js"     2 seconds ago       Up 2 seconds        0.0.0.0:3000->3000/tcp                     yapi
0e7735b7df0d        mongo:5.0             "docker-entrypoint.s…"   8 minutes ago       Up 8 minutes        0.0.0.0:27017->27017/tcp                   mongo-yapi
6ecff9da64ef        nginx:1.26.2          "/docker-entrypoint.…"   2 weeks ago         Up 2 weeks          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx
5372d6f6c213        mysql:8.0.18          "docker-entrypoint.s…"   2 weeks ago         Up 3 days           33060/tcp, 0.0.0.0:3308->3306/tcp          mysql3308.8.0.18
72e4a9a96a7f        redis:6.0.6           "docker-entrypoint.s…"   2 weeks ago         Up 2 weeks          0.0.0.0:16379->6379/tcp                    redis16379
[root@flexusx-328569 yapi]# docker logs -f yapi
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问: 
http://127.0.0.1:3000/

8、测试、访问:http://ip地址:3000

        账号“admin@yapi.com”(config.json 中配置的 adminAccount),默认密码:yapi.pro

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/34848.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】每日一题 2024_12_5 捕获黑皇后需要的最少移动次数(分类讨论)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:捕获黑皇后需要的最少移动次数 代码与解题思路 先读题:题目给了三枚棋子,目标就是求出能在几步之内将皇后吃掉 具体的分类讨论见代码注释 核心思路:…

关于数据库连接数突然上升问题,如何进行排查

1、假设您有一个 Java 应用程序 myapp.jar,您可以使用以下命令启动它,并启用 JMX 远程管理: java -Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port8888 \-Dcom.sun.management.jmxremote.rmi.port8080 \-Dcom.sun.man…

数据结构:顺序表详解

1.顺序表的概念与定义 2.顺序表的初始化与销毁 3.顺序表的头/尾部的插入与删除 4.顺序表指定位置的插入和删除 4.对顺序表中的数据的查找 5.总结 我以过客之名,祝你前程似锦 一.顺序表的概念与定义 1.概念: 顺序表是在计算机内存中以数组的形式保…

【算法】棋盘覆盖问题源代码及精简版

目录 一、题目 二、样例 三、示例代码 四、精简代码 五、总结 对于棋盘覆盖问题的解答和优化。 一、题目 输入格式&#xff1a; 第一行&#xff0c;一个整数n&#xff08;棋盘n*n&#xff0c;n确保是2的幂次&#xff0c;n<64&#xff09; 第二行&#xff0c;两个整数…

摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/12/04

Learning Roadmap&#xff1a; Section 1: Intro to Parallel Programming & MUSA Deep Learning Ecosystem&#xff08;摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/11/30-CSDN博客&#xff09;UbuntuDriverToolkitcondapytorchtorch_musa环境安装(2024/11/24-Ubunt…

App如何跨线上线下、跨渠道、跨终端归因分析

随着渠道分布多元化、生态割裂加剧、用户时间碎片化等趋势&#xff0c;多渠道投放已经成为不可阻挡的广告投放趋势。 但是App营销推广渠道那么多&#xff0c;既要确保广告效果好&#xff0c;又要避免广告资源浪费&#xff0c;有限的媒体预算应该分配给哪几个渠道&#xff1f;哪…

leetcode 3001. 捕获黑皇后需要的最少移动次数 中等

现有一个下标从 1 开始的 8 x 8 棋盘&#xff0c;上面有 3 枚棋子。 给你 6 个整数 a 、b 、c 、d 、e 和 f &#xff0c;其中&#xff1a; (a, b) 表示白色车的位置。(c, d) 表示白色象的位置。(e, f) 表示黑皇后的位置。 假定你只能移动白色棋子&#xff0c;返回捕获黑皇后…

Day6:生信新手笔记 — R包安装与R包使用

R包是多个函数的集合。学生信使用R语言的原因是丰富的图表和Biocductor上面的各种生信分析R包。 一、安装和加载R包 1.设置镜像 镜像网站相当于主网站的副本&#xff0c;访问主网站存在障碍时&#xff0c;访问镜像网站也可。选择国内的镜像可加快访问速度。运行这两行代码&a…

Spring源码解读

文章目录 Spring简单容器(以BeanFactory为主)Spring高级容器(以ApplicationCOntext为主)ListableBeanFactoryobtainFreshBeanFactory()获取BeanFactorySpring源码学习:一篇搞懂@Autowire和@Resource注解的区别Spring简单容器(以BeanFactory为主) Spring高级容器(以Appl…

达梦数据库客户端安装方法

达梦数据库客户端安装方法 达梦客户端下载地址 产品下载 | 达梦数据库 下载完成后以后是这样子的 dm8_20241011_x86_win_64.zip 然后解压 解压后的结果 双击iso的文件 然后选中 然后下一步 自定义安装路径然后下一步 安装 然后直接在开始这里搜DM管理工具 然后配置连接即…

【北京迅为】iTOP-4412全能版使用手册-第五十五章 字符类GPIOS

iTOP-4412全能版采用四核Cortex-A9&#xff0c;主频为1.4GHz-1.6GHz&#xff0c;配备S5M8767 电源管理&#xff0c;集成USB HUB,选用高品质板对板连接器稳定可靠&#xff0c;大厂生产&#xff0c;做工精良。接口一应俱全&#xff0c;开发更简单,搭载全网通4G、支持WIFI、蓝牙、…

LabVIEW算法执行时间评估与Windows硬件支持

在设计和实现复杂系统时&#xff0c;准确估算算法的执行时间是关键步骤&#xff0c;尤其在实时性要求较高的应用中。这一评估有助于确定是否需要依赖硬件加速来满足性能需求。首先需要对算法进行时间复杂度分析并进行实验测试&#xff0c;了解其在Windows系统中的运行表现。根据…

D614 PHP+MYSQL +失物招领系统网站的设计与现 源代码 配置 文档

失物招领系统 1.摘要2. 系统开发的背景和意义3.功能结构图4.界面展示5.源码获取 1.摘要 随着互联网的迅速发展&#xff0c;人们的生产生活方式逐渐发生改变&#xff0c;传统的失物招领也可以通过网络处理。本网站是基PHP技术的一款综合性较强的西南民族大学PHP失物招领系统。 …

【Java】Switch语句、循环语句(for、while、do...while)

Switch语句&#xff1a;针对某个表达式的值进行判断&#xff0c;从而决定执行哪一段代码 语法格式&#xff1a; switch(表达式){ case 目标值1: 执行语句1 break; case 目标值2: …

中建海龙:科技创新引领建筑业革新,铸就行业影响力

在建筑业这个古老而又充满活力的行业中&#xff0c;中建海龙科技有限公司&#xff08;以下简称“中建海龙”&#xff09;凭借其卓越的科技实力和一系列荣誉奖项&#xff0c;正逐步确立其在建筑工业化领域的领导地位&#xff0c;并对整个行业产生了深远影响。 中建海龙自成立以来…

【认证法规】安全隔离变压器

文章目录 定义反激电源变压器 定义 安全隔离变压器&#xff08;safety isolating transformer&#xff09;&#xff0c;通过至少相当于双重绝缘或加强绝缘的绝缘使输入绕组与输出绕组在电气上分开的变压器。这种变压器是为以安全特低电压向配电电路、电器或其它设备供电而设计…

引领素养教育行业,猿辅导素养课斩获“2024影响力教育品牌”奖项

近日&#xff0c;由教育界网、校长邦联合主办&#xff0c;鲸媒体、职教共创会协办的“第9届榜样教育年度盛典”评奖结果揭晓。据了解&#xff0c;此次评选共有近500家企业提交参评资料进行奖项角逐&#xff0c;历经教育界权威专家、资深教育从业者以及专业评审团队的多轮严格筛…

内网穿透 natapp安装与使用

前言 NATAPP是一款基于ngrok的内网穿透工具。以下是对NATAPP的详细概述&#xff1a; 基本概念 定义&#xff1a;内网穿透&#xff08;NAT穿透&#xff09;是一种技术&#xff0c;它允许具有特定源IP地址和端口号的数据包能够绕过NAT设备&#xff0c;从而被正确地路由到内网主机…

TiDB如何保证数据一致性

1. 分布式事务协议 TiDB 采用了类似 Google Percolator 的分布式事务协议来处理分布式事务。这个协议基于两阶段提交&#xff08;2PC&#xff09;的思想&#xff0c;但进行了优化和改进&#xff0c;以适应分布式环境的特殊需求。在 TiDB 中&#xff0c;当一个事务需要跨多个节…

高中数学:导数-在研究函数中的应用

文章目录 一、函数单调性解题步骤图像特征与导数值的关系 二、函数的极值与最大最小值1、函数的极值极值点的求法2、函数的最大最小值最大最小值求法函数大致图像的画法 一、函数单调性 例题 解题步骤 例题 图像特征与导数值的关系 二、函数的极值与最大最小值 1、函数的极…