Sign inSign up

wozijisun/yapi

By wozijisun

•Updated about 6 years ago

从 silsuer/yapi 镜像修改后得到的

Image
0

309

wozijisun/yapi repository overview

⁠由于来源是 /silsuer/yapi 所以,以下的基本信息不变


⁠yapi-docker

把Yapi容器化,使其可以在docker中运行,

Dockerfile地址https://github.com/silsuer/yapi-docker⁠

Yapi项目地址https://github.com/YMFE/yapi⁠

⁠编译

首先把这个库克隆到本地

git clone https://github.com/silsuer/yapi-docker.git⁠

⁠准备编译

docker build yapi-docker/. -t silsuer/yapi

(silsuer/yapi是自定义的镜像名)

⁠编译成功

从DockerHub进行安装 docker pull silsuer/yapi

⁠运行

运行镜像

docker run -dit -p 27017:27017 -p 9090:9090 -p 3000:3000 silsuer/yapi

⁠进入容器

  • 查看容器id

docker ps

  • 进入容器

docker attach container-id

  • 启动mongodb

service mongodb start

  • 启动yapi安装程序

yapi server

  • 根据提示在浏览器中输入ip:9090进行安装,管理员账号默认账号名:"[email protected]⁠",密码:"ymfe.org"

  • 回到终端,执行nohup node /my-yapi/vendors/server/app.js 2>&1 & 在后台运行yapi

  • 执行ctrl+p+ctrl+q 退出容器即可


⁠修改点如下:

1、下载镜像silsuer/yapi
2、启动镜像:docker run -dit -p 27017:27017 -p 9090:9090 -p 3000:3000 silsuer/yapi
3、替换阿里源,目前镜像使用的是Ubuntu-16.04,可以直接在宿主机上编辑一个sources.list文件,然后通过docker cp 拷贝到/etc/apt/sources.list替换即可
4、容器内执行更新命令:apt-get update
5、容器内执行安装xdg-utils: apt install xdg-utils -y
6、容器内执行更新npm:npm i -g npm
7、容器内更新yapi-cli:npm install -g yapi-cli
8、执行:service mongodb start  
9、执行:yapi server  进行安装配置	10、根据提示在浏览器中输入ip:9090进行安装,管理员账号默认账号名:"[email protected]",密码:"ymfe.org"
11、回到终端,执行nohup node /my-yapi/vendors/server/app.js 2>&1 & 在后台运行yapi
12、执行ctrl+p+ctrl+q 退出容器即可

⁠当然过程中也修改做了一个Dockerfile

FROM silsuer/yapi
MAINTAIN wozijisun
COPY sources.list /etc/apt/sources.list
RUN apt update
RUN apt install xdg-utils -y
RUN npm i -g npm
RUN npm install -g yapi-cli

⁠其中要替换一下镜像源的问题

将如下内容拷贝到sources.list文件中,并与Dockerfile保持在同一个目录下

deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

⁠执行build

docker build . -t yapi

⁠运行

docker run -dit --name yapi -p 27017:27017 -p 9090:9090 -p 3000:3000 yapi

⁠与MongoDB进行对接

⁠启动MongoDB

$ docker run -d --name mongo -p 27017:27017 -v /your/local/mongodb/dir:/data/db mongo

⁠启动Yapi

$ docker run -dit --name yapi --link mongo:mongo -v /your/local/yapi/dir:/my-yapi -p 9099:9090 -p 3000:3000 yapi

进入到容器中, docker exec -it yapi /bin/bash

安装服务: yapi server

⁠使用浏览器打开: ip:9099 在配置页面的数据库选项,将: 127.0.0.1 替换为: mongo
进行安装,安装成功后,执行: nohup node /my-yapi/vendors/server/app.js 2>&1 & 然后: exit 退出容器 就可以直接使用yapi了。

再次执行容器时,可以直接通过启动Yapi,来启动容器,然后,执行 docker exec yapi sh -c “nohup node /my-yapi/vendors/server/app.js 2>&1 &”


或者直接将命令打入到镜像中,启动镜像后,直接启动命令,但是请注意要有运行的进程,否则容器会自动退出。

Tag summary

Content type

Image

Digest

Size

423.1 MB

Last updated

about 6 years ago

docker pull wozijisun/yapi