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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 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的相关知识,很有必要

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
域名解析 弹性计算 监控
使用云效将项目代码部署到云服务器ECS的体验评测
本文详述了使用阿里云云效和ECS搭建企业门户网站的解决方案,包括引导文档、部署流程、一键与手动部署的优缺点以及部署中可能遇到的问题。文中建议阿里云改进文档更新及时性,增强流程指引清晰度,提供更具体的错误信息,并增加实时监控、报警功能及性能优化建议。此外,呼吁建立更多用户交流平台以提升用户体验。
9 1
|
4天前
|
运维 Ubuntu Docker
深入理解容器化技术:Docker的应用与实践
在这个数字化转型迅速推进的时代,容器化技术为软件开发和部署提供了新的路径。本文将深入探讨Docker技术的基本原理、应用场景以及实际操作,旨在帮助读者全面理解并掌握这一关键技术。
25 2
|
4天前
|
Docker 容器
蓝易云 - Docker修改容器ulimit的全部方案及各方案的详细步骤
以上就是修改Docker容器ulimit的全部方案及其详细步骤。
10 2
|
4天前
|
存储 Linux Docker
Docker|了解容器镜像层(2)
Docker|了解容器镜像层(2)
14 0
Docker|了解容器镜像层(2)
|
5天前
|
运维 Kubernetes 持续交付
Docker与Kubernetes:容器化技术的黄金搭档
【6月更文挑战第10天】Docker和Kubernetes是容器化技术的黄金组合,Docker提供轻量级、可移植的容器引擎,简化应用部署,而Kubernetes作为容器编排系统,实现自动化部署、扩展和管理,确保高可用性和可扩展性。两者的协作使得容器化应用更高效、可靠,共同推动软件开发和运维的创新。
|
8天前
|
存储 缓存 开发工具
Docker|了解容器镜像层(1)
Docker|了解容器镜像层(1)
41 0
|
9天前
|
监控 Cloud Native 持续交付
实现容器集群轻松部署:Docker Swarm 集群管理解析
实现容器集群轻松部署:Docker Swarm 集群管理解析
|
9天前
|
网络安全 开发者 Docker
探索 Docker Machine:打造无缝多平台容器部署的利器
探索 Docker Machine:打造无缝多平台容器部署的利器
|
9天前
|
关系型数据库 持续交付 数据库
简化多容器应用部署:深入理解 Docker Compose
简化多容器应用部署:深入理解 Docker Compose
|
9天前
|
安全 数据安全/隐私保护 Docker
Docker 容器连接:构建安全高效的容器化网络生态
Docker 容器连接:构建安全高效的容器化网络生态