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, see
	https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
	https://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

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习(2)前向传播与反向传播

这一次我们重点讲解前向传播与反向传播,对这里还是有点糊涂 前向传播(Forward Propagation)和反向传播(Backward Propagation)是深度学习中神经网络训练的核心过程。它们分别负责计算神经网络的输出以及更新神经网络的…

Mock神器:Easy-Mock 私有化部署及使用介绍

在现代前后端分离的开发模式中,后端接口的数据模拟是一个常见且必要的需求。尤其是在后端接口尚未开发完成时,前端开发需要依赖模拟数据进行开发与测试。Easy-Mock 是一个非常流行的开源工具(虽然它已经停止更新好长时间了)&#…

个人IP建设:简易指南

许多个体创业者面临的一个关键挑战是如何为其企业创造稳定的需求。 作为个体创业者,您无法使用营销团队,因此许多人通过推荐和他们的网络来产生需求。因此,扩大您的网络是发展您的业务和产生持续需求的最佳策略。 这就是个人IP和品牌发挥作…

二一(GIT4)、echarts(地图)、黑马就业数据平台(学生页-增 删 改)

1. echarts 地图 echarts社区:makeapie echarts社区图表可视化案例 社区模板代码地址:自定义 tooltip-轮播 - category-work,series-map地图,tooltip提示框,visualMap视觉映射 - makeapie echarts社区图表可视化案例 // todo: 籍贯分布 地图 function…

iPhone 17 Air基本确认,3个大动作

近段时间,果粉圈都在讨论一个尚未发布的新品:iPhone 17 Air,苹果又要来整新活了。 从供应链消息来看,iPhone 17 Air本质上是Plus的替代品,主要是在维持“大屏”这一卖点的同时,增加了“轻薄”属性&#xff…

数据结构之初始二叉树(1)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 树型结构 树的概念 与树的有关概念 树的表示形式 树的应用 二叉树 概念 两种特殊的…

RabbitMQ七种工作模式之 RPC通信模式, 发布确认模式

文章目录 六. RPC(RPC通信模式)客户端服务端 七. Publisher Confirms(发布确认模式)1. Publishing Messages Individually(单独确认)2. Publishing Messages in Batches(批量确认)3. Handling Publisher Confirms Asynchronously(异步确认) 六. RPC(RPC通信模式) 客⼾端发送消息…

深入理解 SQL 注入:原理、攻击流程与防御措施

深入理解 SQL 注入:原理、攻击流程与防御措施 在当今数字化的时代,数据安全已成为每个企业和开发者必须面对的重要课题。SQL 注入(SQL Injection)作为一种常见的网络攻击方式,给无数企业带来了巨大的损失。本文将深入…

【项目实战】基于python+爬虫的电影数据分析及可视化系统

注意:该项目只展示部分功能,如需了解,文末咨询即可。 本文目录 1.开发环境2 系统设计 2.1 设计背景2.2 设计内容 3 系统页面展示 3.1 用户页面3.2 后台页面3.3 功能展示视频 4 更多推荐5 部分功能代码 5.1 爬虫代码5.2 电影信息代码 1.开发环…

JCR一区牛顿-拉夫逊优化算法+分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测

JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测 目录 JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院…

深入探索 Compose 渲染流程:从 UI 树到 Skia 绘制的实现解析

文章目录 前言Compose 渲染流程概述1. Compose 解析1.1 Compose 声明性 UI1.2 Compose 编译1.2.1 Compose 编译概述1.2.2 代码示例1.2.3 编译过程细节 1.3 组合与重组合1.3.1 组合(Composition)1.3.2 重组合1.3.3 组合与重组合的区别1.3.4 组合与重组合的…

数据结构排序算法详解

数据结构排序算法详解 1、冒泡排序(Bubble Sort)2、选择排序(Selection Sort)2、插入排序(Insertion Sort)4、快速排序(Quick Sort) 1、冒泡排序(Bubble Sort&#xff09…

命令模式的理解和实践

在软件开发中,设计模式是开发者们经过长期实践总结出来的、可复用的解决方案,用于解决常见的设计问题。命令模式(Command Pattern)是行为型设计模式之一,它通过将一个请求封装成一个对象,从而允许用户用不同…

【C++】关系操作符的全面解析与高级应用

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯关系操作符1.关系操作符的分类与语义2.关系操作符的连用问题3.浮点数比较的精度问题问题示例解决方案 💯总结核心要点 💯小结 💯前言 在…

python爬虫--某房源网站验证码破解

文章目录 使用模块爬取目标验证码技术细节实现成果代码实现使用模块 requests请求模块 lxml数据解析模块 ddddocr光学识别 爬取目标 网站验证码破解思路是统一的,本文以城市列表为例 目标获取城市名以及城市连接,之后获取城市房源信息技术直接替换地址即可 验证码 技术…

java+ssm+mysql校园物品租赁网

项目介绍: 使用javassmmysql开发的校园物品租赁网,系统包含管理员、用户角色,功能如下: 管理员:用户管理;物品管理(物品种类、物品信息、评论信息);订单管理&#xff1…

【JS】简单CSS简单JS写的上传进度条

纯JS写的&#xff0c;简单的上传进度条&#xff0c;当上传的文件较大&#xff0c;加一个动态画面&#xff0c;就不会让人觉得出错了或网络卡了 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"v…

Oracle系统性能监控工具oswatcher演示

1、关于 OSW OSWatcher 的使用符合 Oracle 的标准许可条款&#xff0c;并且不需要额外的许可即可使用&#xff01;&#xff01;&#xff01;&#xff01; OSWatcher (oswbb) 是一种 UNIX shell 脚本的集合&#xff0c;主要用于收集和归档操作系统和网络的度量&#xff0c;以便…

Oracle EBS PAC 如何复修非标任务单生产生非常大的PAC成本?

系统环境 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 问题症状 非标准任务单组件和装配相同物料A,俗称投入A产A。该物料A的期初数量为0。 上期成本假设为20,而本期成本爆增至563.674234。关键问题点: 由于该物料没有期初数量,无法通过“更新定期成本”指定“新期本…

word实践:正文/标题/表图等的共用模板样式设置

说在前面 最近使用word新建文件很多&#xff0c;发现要给大毛病&#xff0c;每次新建一个word文件&#xff0c;标题/正文的字体、大小和间距都要重新设置一遍&#xff0c;而且每次设置这些样式都忘记了参数&#xff0c;今天记录一下&#xff0c;以便后续方便查看使用。现在就以…