技术标签: 容器 运维 kubernates docker
https://www.jianshu.com/p/a97d2efb23c5
# 创建存储卷
docker volume create mongo-data
# 启动 MongoDB
docker run -d \
--name mongo-yapi \
-v mongo-data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=anoyi \
-e MONGO_INITDB_ROOT_PASSWORD=anoyi.com \
mongo
docker pull registry.cn-hangzhou.aliyuncs.com/anoyi/yapi
{
"port": "3000",
"adminAccount": "[email protected]",
"timeout":120000,
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017,
"user": "anoyi",
"pass": "anoyi.com",
"authSource": "admin"
}
}
docker run -it --rm \
--link mongo-yapi:mongo \
--entrypoint npm \
--workdir /yapi/vendors \
-v $PWD/config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
run install-server
docker run -d \
--name yapi \
--link mongo-yapi:mongo \
--workdir /yapi/vendors \
-p 3000:3000 \
-v $PWD/config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
server/app.js
访问: http://localhost:3000
登录账号:[email protected]
密码:ymfe.org
FROM node:12-alpine as builder
WORKDIR /yapi
RUN apk add --no-cache wget python make
ENV VERSION=1.9.2
RUN wget https://github.com/YMFE/yapi/archive/v${VERSION}.zip
RUN unzip v${VERSION}.zip && mv yapi-${VERSION} vendors
RUN cd /yapi/vendors && cp config_example.json ../config.json && npm install --production --registry https://registry.npm.taobao.org
FROM node:12-alpine
MAINTAINER [email protected]
ENV TZ="Asia/Shanghai"
WORKDIR /yapi/vendors
COPY --from=builder /yapi/vendors /yapi/vendors
EXPOSE 3000
ENTRYPOINT ["node"]
注意将 Dockerfile 中的 VERSION 值修改为你需要构建的 YAPI 版本。
docker build -t yapi .
存储根据自己需要自己配,这个配置是使用主机的文件路径,防止pod飘逸,固定pod跑在某个主机上
apiVersion: apps/v1
kind: Deployment
metadata:
name: yapi
namespace: devops-yapi
labels:
app: yapi
spec:
replicas: 1
selector:
matchLabels:
app: yapi
template:
metadata:
labels:
app: yapi
spec:
volumes:
- name: config
configMap:
name: yapi-config
- name: localtime
hostPath:
path: /etc/localtime
type: ''
initContainers:
- name: init-data
image: registry.cn-hangzhou.aliyuncs.com/anoyi/yapi:latest
command:
- /bin/sh
- "-c"
args:
- "cp /yapi/config/config.json /yapi; node server/install.js"
volumeMounts:
- name: config
mountPath: /yapi/config
- name: localtime
readOnly: true
mountPath: /etc/localtime
containers:
- name: yapi
image: registry.cn-hangzhou.aliyuncs.com/anoyi/yapi:latest
ports:
- name: yapiport
containerPort: 3000
protocol: TCP
env:
- name: MONGO_INITDB_ROOT_USERNAME
value: yapi
- name: MONGO_INITDB_ROOT_PASSWORD
value: qingzhu
command:
- /bin/sh
- "-c"
args:
- "cp /yapi/config/config.json /yapi; node server/app.js"
resources:
requests:
cpu: 500m
memory: 512Mi
volumeMounts:
- name: config
mountPath: /yapi/config
- name: localtime
readOnly: true
mountPath: /etc/localtime
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {
}
schedulerName: default-scheduler
strategy:
type: Recreate
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
---
apiVersion: v1
kind: Service
metadata:
name: yapi-service
namespace: devops-yapi
labels:
app: yapi-service
spec:
ports:
- name: tcp
protocol: TCP
port: 3000
targetPort: 3000
selector:
app: yapi
type: NodePort
---
apiVersion: v1
kind: ConfigMap
metadata:
name: yapi-config
namespace: devops-yapi
data:
config.json: |
{
"port": "3000",
"adminAccount": "[email protected]",
"timeout": 120000,
"db": {
"servername": "yapi-mangodb-service",
"DATABASE": "yapi",
"port": 27017,
"user": "yapi",
"pass": "qingzhu",
"authSource": "admin"
}
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: yapi-mangodb
namespace: devops-yapi
labels:
app: yapi-mangodb
spec:
replicas: 1
selector:
matchLabels:
app: yapi-mangodb
template:
metadata:
labels:
app: yapi-mangodb
spec:
volumes:
- name: data
persistentVolumeClaim:
claimName: yapi-mangodb-pvc
- name: localtime
hostPath:
path: /etc/localtime
type: ''
containers:
- name: mangodb
image: mongo:latest
ports:
- name: mangodbport
containerPort: 27017
protocol: TCP
env:
- name: MONGO_INITDB_ROOT_USERNAME
value: yapi
- name: MONGO_INITDB_ROOT_PASSWORD
value: qingzhu
resources:
requests:
cpu: 500m
memory: 512Mi
volumeMounts:
- name: data
mountPath: /data/db
- name: localtime
readOnly: true
mountPath: /etc/localtime
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {
}
schedulerName: default-scheduler
strategy:
type: Recreate
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
---
apiVersion: v1
kind: Service
metadata:
name: yapi-mangodb-service
namespace: devops-yapi
labels:
app: yapi-mangodb-service
spec:
ports:
- name: tcp
protocol: TCP
port: 27017
targetPort: 27017
selector:
app: yapi-mangodb
type: NodePort
sessionAffinity: None
externalTrafficPolicy: Cluster
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: yapi-mangodb-pvc
namespace: devops-yapi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
volumeName: yapi-mangodb-pv
storageClassName: yapi-mangodb
volumeMode: Filesystem
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: yapi-mangodb-pv
spec:
capacity:
storage: 20Gi
local:
path: /var/lib/kubelet/yapi-mangodb
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: yapi-mangodb
volumeMode: Filesystem
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- 172-16-22-72
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: yapi-mangodb
provisioner: kubernetes.io/no-provisioner
reclaimPolicy: Delete
文章浏览阅读402次。内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;内存泄露 memory leak:是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存泄漏从用户的角度来考虑的话根本感觉不到,但是从程序设..._java dump文件未释放
文章浏览阅读1.3k次。大家在访问浏览器的时候,要搜索的东西只输入一半不到的时候,系统会给很多提示。如下:这个就是靠AutoTextView实现的。它会自动检索你所有的数据中满足条件的并进行提示。具体怎么操作呢?我们举个简单的例子。首先,先简单的创建个垂直线性布局,把AutoTextView放进去。代码如下:<?xml version="1.0" encoding="utf-8"?>&..._autotext的使用方法
文章浏览阅读603次。免费虚拟服务器试用 内容精选换一换本节操作介绍切换虚拟私有云的操作步骤。仅支持单网卡切换虚拟私有云。切换虚拟私有云会导致云服务器网络中断。切换虚拟私有云过程中,请勿操作云服务器的弹性公网IP,或对云服务器做其他操作。切换虚拟私有云后,云服务器子网、私有IP地址、MAC地址都会发生改变。切换虚拟私有云后,请重新配置源/目的检查和虚拟IP地址。虚拟私有云切换完成后,与网络配置华为云帮助中心,为用户提供..._免费虚拟服务器
文章浏览阅读561次。基于Unity实现的文字线条效果,代码添加到Text组件的物体上修改Type属性即可看到效果。using System.Text.RegularExpressions;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public enum LineType { none, upperline, middleLine, _unity text自适应横线
文章浏览阅读69次。实用的9个PHP代码片段在开发网站、app或博客时,代码片段可以真正地为你节省时间。今天,我们就来分享一下我收集的一些超级有用的PHP代码片段。一起来看一看吧!1.创建数据URI数据URI在嵌入图像到HTML / CSS / JS中以节省HTTP请求时非常有用,并且可以减少网站的加载时间。下面的函数可以创建基于$file的数据URI。function data_uri($file, $mime) ..._php项目怎么快速地找到页面对应的代码片段
文章浏览阅读1.6k次。Tic-Tac-Toe, sometimes also known as Xs and Os, is a game for two players (X and O) who take turns marking the spaces in a 3×3 grid. The player who succeeds in placing three respective marks in a hori_"a game's result is presented as a list of strings, where \"x\" and \"o\" are pla"
文章浏览阅读2.6k次。在使用vue开发项目的时候,经常会遇到的一个问题就是:图片加载不出来。下面是我总结的几种图片加载不出来的情况及解决办法。一、项目打包完成后,打开整体空白1、路径问题原因在vue+webpack的项目中,项目打包之后的css和js的引用路径是绝对路径,项目部署之后会将静态当成根目录,就造成了文件引用路径的错误。解决办法通过修改配置文件,将绝对路径改为相对路径。具体操作如下:1.vue-cli 3.0..._vue 数据请求慢本地图片未匹配
文章浏览阅读377次。基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 Node.js 中使用vue2.0之后,就不再对 vue-resource 更新,而是推荐使用 axios,本项目也是使用 axios功能特性在浏览器中发送 XMLHttpRequests 请求在 node.js 中发送 http请求支持 Promise API拦截请求和响应转换请求和响应数据取消请求自动转换 JSON 数据客户端支..._如何监听浏览器接口请求是否加载结束
文章浏览阅读219次。linux中安装samba的安装和使用详解发布时间:2009-08-03 20:35:54来源:红联作者:zwb_nba本人学linux也没有多长时间,为了安装一些东西也费了不少时间,下面我就写下我安装samba的心得,赠给有缘人!1,我所用的环境,在虚拟机中安装的RedHat9.02,安装samba是为了使windows和linux能共享2.1,查看本机的IP地址和网络连接情况ifconfig ..._在linux系统上安装samba软件和相应的依赖库后,根据需求通过编辑smb.conf配置文件,
文章浏览阅读236次。根据HTML实现数据渲染填充PDF动态列表,表格,图片步骤3、自定义HTML模版注:需要前端配合自定义模版计算高度 否则会导致边框 分页失效步骤4、Controller实现步骤5 Yml设置注:注意路径读取,及字体文件Ftl模版高度设置_springboot html转pdf
文章浏览阅读318次。安装 picgo 的插件picgo-plugin-sftp-uploader 是 PicGo 的一个插件,它可以将图片上传到 SFTP 服务器。SFTP 是 SSH 文件传输协议的缩写,它是一种安全的文件传输协议,通过使用 SSH 协议的加密和身份验证机制来保护传输的数据。使用 picgo-plugin-sftp-uploader 插件,您可以将图片上传到 SFTP 服务器,从而实现图片的备份、共享和传输。_typero图床设置
文章浏览阅读5.5k次,点赞2次,收藏10次。项目任务项目分析1.该网页分为左右两大板块2.左边为字图结合,可在图片处理工具中将图片设计好,再将该图片设为背景即可3.左图中文字部分可用有序列表制作4.左图制作好后,设置左浮动,在进行右边的文字简介编辑5.右边文字可分为三个段落,分别编辑,并将"传智播客设计学院"字体加粗即可下面我们来看代码HTML 部分代码<!DOCTYPE html PUBLIC "-//W3C/..._传智播客设计学院简介代码