{"id":13901406,"url":"https://github.com/crper/yapi-docker","last_synced_at":"2026-04-15T16:30:56.819Z","repository":{"id":134979646,"uuid":"141287441","full_name":"crper/yapi-docker","owner":"crper","description":"使用docker构建yapi容器","archived":false,"fork":false,"pushed_at":"2018-07-23T09:35:42.000Z","size":27,"stargazers_count":64,"open_issues_count":1,"forks_count":36,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-25T09:44:17.438Z","etag":null,"topics":["docker-image","yapi-deploy"],"latest_commit_sha":null,"homepage":null,"language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-07-17T12:34:51.000Z","updated_at":"2024-11-15T03:45:08.000Z","dependencies_parsed_at":"2023-05-26T17:15:33.787Z","dependency_job_id":null,"html_url":"https://github.com/crper/yapi-docker","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/crper/yapi-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crper%2Fyapi-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crper%2Fyapi-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crper%2Fyapi-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crper%2Fyapi-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crper","download_url":"https://codeload.github.com/crper/yapi-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crper%2Fyapi-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265672330,"owners_count":23808842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","yapi-deploy"],"created_at":"2024-08-06T21:01:21.857Z","updated_at":"2026-04-15T16:30:56.788Z","avatar_url":"https://github.com/crper.png","language":"Vim script","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"readme":"# Yapi Docker\n\n\u003e YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台 [yapi.ymfe.org](https://github.com/YMFE/yapi)\n\n\n---\n\n# 提供的内容\n\n**第一次初始化默认拉取的最新的版本,所以不用指定版本,若是yapi代码不严谨,连新版本初始化都会报错则无解!**\n\n- `yapi`的部署\n- `yapi`的升级\n\n\n---\n\n# 创建volume\n\n- `docker volume create yapi-mongo`\n\n创建一个储存卷,用来专门存放`yapi`使用的`mongodb`的数据\n\n为什么要独立出来,这是为了以后升级的着想,数据库保留,只要启动的时候关联一下就行了\n\n\n\n---\n\n# 启动mongodb\n\n- `docker run -d --name yapi-mongo -v yapi-mongo:/data/db mongo`\n\n\n为什么要先启动`mongodb`,因为`yapi`初始化的时候依赖`mongodb`,比如创建用户表这些\n\n这条命令是什么意思呢?\n\n```bash\n\n-d : 是启动的时候输出容器的id\n--name : 是给容器设置一个名字,方便我们控制,比如start,stop\n-v : 指定关联的卷 =\u003e 本地卷:容器内储存位置 , 就是映射数据保存的地方\n\n```\n\n若是需要外部管理这个数据库的话,最好也暴露出来端口, `mongodb`容器默认也暴露了27017端口\n\n- `docker run -d --name yapi-mongo -v yapi-mongo:/data/db -p 27017:27017 mongo`\n\n---\n\n# 初始化Yapi和启动Yapi\n\n- `docker run -d --name yapi -p 3000:3000 --link yapi-mongo  crper/yapi`\n\n\n这里比上面多的一个参数就是`--link`,用来使连个容器通讯的,过时命令,官方已经不推荐\n\n**过程均可用**`docker logs details 容器ID或者name`来看到内部的情况\n\n就是`shell`执行过程,比如这个项目就可以在初始化的时候,看到初始化的账号密码(成功)\n\n\n不管是`mongo`还是`crper/yapi` ,当你请求一个容器不存在的时候,\n\n会尝试往`dockhub`上面找,默认拉取镜像`latest`版本,找不到才会报错\n\n以下就是基本的初始化信息\n\n```bash\n访问链接: 127.0.0.1:3000\n默认的账户名: config.json =\u003e  adminAccount 这个字段的值\n密码: ymfe.org\n```\n\n\n---\n\n# 升级yapi\n\n## 手动升级\n\n因为不涉及到容器处理..只是单纯的文件替换,官方也提供了方案,那个`cli`已经默认集成到容器里面\n\n```javascript\n// https://yapi.ymfe.org/devops/index.html\ncd  {项目目录}\nyapi ls //查看版本号列表\nyapi update //升级到最新版本\nyapi update -v v1.1.0 //升级到指定版本\n```\n\n升级完毕重启`node`程序亦或者重启容器即可!!\n\n\n\n----\n\n# 错误\n\n在初始化的时候,执行\n\n`docker logs --details 容器ID`\n\n查看内部终端的执行过程,npm的一些源也不一定靠谱,\n\n若是提示`npm`安装报错了,就需要进去换其他源了\n\n先启动`crper/yapi`镜像,然后跟着教程走\n\n\n\n```javascript\n// npm config set registry [url]\n// npm ---- https://registry.npmjs.org/\n// cnpm --- http://r.cnpmjs.org/\n// taobao - http://registry.npm.taobao.org/\n// eu ----- http://registry.npmjs.eu/\n// au ----- http://registry.npmjs.org.au/\n// sl ----- http://npm.strongloop.com/\n// nj ----- https://registry.nodejitsu.com/\n\n\n// 进入到vendors目录\n// 若是有node_modules目录,\b\n// 我们都应该先干掉node_modules\n// 这样重新安装依赖才会比较干净\n\n// 进到vendors目录, 比如设置回官方源\nnpm config set registry https://registry.npmjs.org/;\n\n// 安装全局升级工具和依赖编译的npm模块\nnpm i -g node-gyp yapi-cli \\\nnpm i --production;\n\n// 初始化 yapi\nnode server/install.js\n\n```\n\n依赖安装完成就可以再重新初始化,然后重启容器即可\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrper%2Fyapi-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrper%2Fyapi-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrper%2Fyapi-docker/lists"}