其他分享
首页 > 其他分享> > api管理平台yapi容器化

api管理平台yapi容器化

作者:互联网

docker yapi

yapi容器化,yapi的dockerfile

yapi github 地址 是 https://github.com/YMFE/yapi

官方地址是 https://hellosean1025.github.io/yapi/

体验地址是 https://yapi.baidu.com/

1. 首先我们下载yapi的源代码,解压在本地,最新版本是1.9.2

目录层次如下

--my-yapi

----yapi

------vendors

源代码方在vendors下面,yapi下面会有config.json,映射进来的,打包的时候不放,my-yapi下面放Dockerfile,用来docker build

2.Dockerfile

FROM node:12.20.1 as builder
RUN npm config set registry https://registry.npm.taobao.org
RUN mkdir -p /home/node/yapi
COPY yapi /home/node/yapi/
WORKDIR /home/node/yapi/vendors
RUN npm install --production

FROM node:12.20.1-alpine3.10
LABEL maintainer=xiesj@live.com
ENV TZ="Asia/Shanghai"
USER node
RUN mkdir -p /home/node/yapi
COPY --from=builder /home/node/yapi/vendors /home/node/yapi/vendors
WORKDIR /home/node/yapi/vendors
EXPOSE 3000
CMD node server/app.js

 

docker镜像可以使用docker.mirrors.ustc.edu.cn,nodejs镜像使用https://registry.npm.taobao.org

我们使用了2个原始image,一个是node:12.20.1另外一个是node:12.20.1-alpine3.10

第一个作为build用,第二个作为运行用

首先我们拉去原始镜像

docker pull docker.mirrors.ustc.edu.cn/library/node:12.20.1

docker pull docker.mirrors.ustc.edu.cn/library/node:12.20.1-alpine3.10

docker tag docker.mirrors.ustc.edu.cn/library/node:12.20.1 node:12.20.1

docker tag docker.mirrors.ustc.edu.cn/library/node:12.20.1-alpine3.10 node:12.20.1-alpine3.10

然后我们制作容器镜像,这里使用多个from,如果只使用第一个,那么我们镜像大小是1G,如果是用node alpine原始镜像大概178m。但是alpine镜像没有nodejs的编译环境,比较不方便,所以我们使用2个镜像

编译的时候默认使用root账号,运行环境我们使用原始镜像的user node

在my-yapi下面执行

docker build -t yapi:1.9.2 .

完成之后我们需要安装,安装之前启动mongo,mongo可以使用默认admin账号,也可以新建一个账号,新建账号需要有yapi数据库的权限

初始化数据库

docker run -it --rm -v /home/xxxxxx/my-yapi/yapi/config.json:/home/node/yapi/config.json yapi:1.9.2 npm run install-server

启动容器

docker run -itd --name yapi -p 3000:3000 -v /home/xxxxxx/my-yapi/yapi/config.json:/home/node/yapi/config.json yapi:1.9.2

 

标签:node,容器,yapi,12.20,api,镜像,home,docker
来源: https://www.cnblogs.com/caihemm/p/14392529.html