Docker 安装yapi服务

1. 安装mongodb

mkdir -p ~/services/mongodb/data  ~/services/mongodb/bak
cd ~/services/mongodb
#拉取镜像
docker pull mongo:3.6
cd ~/services/mongodb
# 不用映射端口,因为是内部访问
docker run --restart=always --name mongo -v /etc/localtime:/etc/localtime:ro -v $PWD/data:/data/db -v $PWD/bak:/data/backup -d mongo:3.6 --wiredTigerCacheSizeGB 2

添加账号:

docker exec -it mongo mongo
# 账号 yapi 密码 yapi, 可以访问任何数据库
> db.createUser({user:'yapi',pwd:'yapi', roles:[{role:'userAdminAnyDatabase', db:'admin'}]})

2. 制作yapi Docker镜像

2.1 文件准备

yapi 源码包

mkdir -p ~/docker_imgs/yapi
cd ~/docker_imgs/yapi
wget https://github.com/YMFE/yapi/archive/v1.9.2.tar.gz

准备yapi 配置文件

cd ~/docker_imgs/yapi
vim config.json

config.json 内容

adminAccount : 管理员账号,后面初始化的时候会初始化到 mongodb中。初始化的时候并会创建这个账号,密码默认为 “ymfe.org”

servername 是 docker容器的名字

{
	"port": "3000",
	"adminAccount": "admin@qinyeit.com",
	"timeout": 120000,
	"db": {
		"servername": "mongo",
		"DATABASE": "yapi",
		"port": 27017,
		"user": "yapi",
		"pass": "yapi",
		"authSource": ""
	},
	"mail": {
		"enable": false,
		"host": "smtp.126.com",
		"port": 465,
		"from": "admin@qinyeinfo.com",
		"auth": {
			"user": "admin@qinyeinfo.com",
			"pass": "xxxxxxx"
		}
	}
}

Dockerfile

cd ~/docker_imgs/yapi
vim Dockerfile

Dockerfile文件内容:

FROM node:12-alpine as builder

RUN apk add --no-cache git python make openssl tar gcc

COPY v1.9.2.tar.gz /home

RUN cd /home && tar zxvf v1.9.2.tar.gz && mkdir /api && mv /home/yapi-1.9.2 /api/vendors

RUN cd /api/vendors && \
    npm install --production --registry https://registry.npm.taobao.org

FROM node:12-alpine

MAINTAINER 16910735@qq.com

ENV TZ="Asia/Shanghai" HOME="/"

WORKDIR ${HOME}

COPY --from=builder /api/vendors /api/vendors

COPY config.json /api/

EXPOSE 3000

ENTRYPOINT ["node","server/app.js"]

2.2 构建镜像

docker build -t yapi:1.9.2 .
docker images

3. 初始化

mkdir -p ~/services/yapi
cd ~/services/yapi
cp  ~/docker_imgs/yapi/config.json .
docker run -it --rm  --entrypoint npm --workdir /api/vendors -v $PWD/config.json:/api/config.json yapi:1.9.2 run install-server

执行完成后,会输出:

初始化管理员账号成功,账号名:“admin@qinyeit.com”,密码:“ymfe.org”

4. 创建容器

docker run -d -p 3000:3000 --name yapi --restart=always --workdir /api/vendors -v $PWD/config.json:/api/config.json yapi:1.9.2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

paopao_wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值