利用阿里云ECS服务器在docker容器中部署Yapi服务

简介: docker,centOS,Yapi

背景介绍

大四金融专业,最近在学习eggjs前端框架,因为Yapi官网的服务不稳定,所以文档想用Yapi来部署。
Yapi的优势简单介绍下,里面集成了文档系统,还有mock,使用起来很简单,开源,虽然官方一年没有人维护了,但是社区还是有不少开发者在维护,特别是docker hub的仓库里面有现成的镜像,试用了下,没有什么问题。MongoDB作为数据库,node的语法,适合前端开发者学习。

开工

ECS服务器装个centOS,然后按照官方文档教程安装MongoDB,然后是docker,虽然服务器镜像有现成的docker环境,但是这里还是想自己动手实践下安装。然后去docker Hub的官网对着yapipro/yapi的教程开始怼。部署好了以后去ECS的控制台把Yapi的服务端口外网权限打开,因为centOS没有图形界面,这里我又喜欢偷懒,所以把MongoDB的外网端口权限也打开了,MongoDB在安装和新建数据库的时候,把密码也设置上去就好了,以防有人扫出来密码,就是密码设置多了以后容易忘记,ECS一个账号密码,MongoDB一个,单个数据库实例一个,Yapi管理员权限账号一个,普通登录账户一个......太多太多。不知道大家实际部署的流程是怎么样处理的,我这边实在没办法就用密码本记了,密码本用的bitwarden,在chrome上安装了插件。密码确实太多,我自己反正是真的记不住。
docker部署YAPI流程简单说下:
docker创建存储卷,在仓库拉取MongoDB的镜像,启动MongoDB容器,进入容器,然后用管理员admin创建Yapi的数据库,创建给Yapi使用的数据库账密,然后限制一下这个账户的权限。
你看,启动MongoDB容器的时候就给了账密,现在又新建了YAPI数据库的账密,这就两个了。
然后退出容器的cli,在ECS宿主机创建一个Yapi的conconfig文件,等会要用这个文件实例化yapi的。
去docker的仓库拉取yapipro的镜像,接着初始化数据库的表,这个时候会根据刚才新建的config文件在表里插入一个YAPI的管理员账号密码,初始化密码可能不同的docker镜像不同,官方的跟yapipro就不同,我们这里用的yapipro,所以密码是yapi.pro,实在忘了就用Navicat连上去改一下。
接着docker run跑起来,这个时候yapi的服务就起来了。
然后在服务器curl一下看能不能通本地的3000端口,可以的话去ECS的控制台打开3000端口的外网权限,然后在你自己电脑访问试试。
这个过程有问题随时查看docker hub或者GitHub的issue

总结

这个服务器水管比较小,但是作为学习部署完全够用,而且在线的YAPI确实很有必要,不然你换个电脑又要不输一遍YAPI还要迁移备份MongoDB,你的项目的文档是在MongoDB里面的。docker因为一开始创建了存储卷,迁移很方便,服务器挂了就迁移一次快照就好了。总的来说自己部署一次能熟悉一遍Linux的基本操作以及node的相关知识,很有必要

相关实践学习
使用操作系统智能助手OS Copilot解锁操作系统运维与编程
在本实验场景中,将在阿里云ECS上体验OS Copilot产品。OS Copilot是阿里云操作系统团队基于大模型构建的OS智能助手。它具有自然语言问答、辅助命令执行、系统运维调优等功能,帮助用户更好地使用Linux,提升阿里云的使用体验。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
245 17
|
6月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1521 5
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
719 6
|
弹性计算 运维 Ubuntu
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
2183 4
|
消息中间件 弹性计算 Java
|
消息中间件 弹性计算 Java
阿里云ECS服务器安装docker(图文教程)
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。理由很简单,用了的人都说好用。在多系统的分布式项目中,往往传统的部署发包等操作,那是让每个上线的程序员恨的牙痒呀。通常都是通宵奋战,上生产解决各种部署发包问题。
15786 2
阿里云ECS服务器安装docker(图文教程)
|
消息中间件 弹性计算 Java
阿里云ECS服务器安装docker---(图文教程)
Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux容器解决方案。理由很简单,用了的人都说好用。在多系统的分布式项目中,往往传统的部署发包等操作,那是让每个上线的程序员恨的牙痒呀。通常都是通宵奋战,上生产解决各种部署发包问题。
阿里云ECS服务器安装docker---(图文教程)
|
消息中间件 弹性计算 Java
阿里云ECS服务器安装docker教程(详细图文)
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。理由很简单,用了的人都说好用。在多系统的分布式项目中,往往传统的部署发包等操作,那是让每个上线的程序员恨的牙痒呀。通常都是通宵奋战,上生产解决各种部署发包问题。
阿里云ECS服务器安装docker教程(详细图文)