自定义软件源
使用背景
-
个人开发者
- 类似docker-compose一样便写配置文件
- 方便将该配置分享给你的朋友,你的朋友一键添加软件源,可以安装和你一样的配置
-
企业开发者
- 小公司如果有多台服务器,需要进行devops发布运维
- 开发者在开发环境完成代码的便携和测试,并上传镜像编写好配置yaml
- 运维者检查开发人员编写yaml无误,在预发布环境再次确认无误
- 运维人员在线上环境逐渐灰度上量,先灰度小客户,最后灰度大客户
开发流程
- 部署一台Web服务器(需要公网可访问)。例如nginx
- 编写index.yaml,用来索引每个应用
- 编写每个应用的yaml
- 将yaml传到nginx服务器中
- 在 商店->应用源->填写软件源的 http(s)链接,点击添加
Yaml规则说明
应用索引 index.yaml
- name: '示例-名字'
img: '/public/icon/unknown.png'
type: 'file'
info: '示例-介绍'
detail: '这是一个示范'
config: 'demo.yaml'
- name: '示例-名字2'
img: '/public/icon/unknown.png'
type: 'file'
info: '示例-介绍'
detail: '这是一个示范'
config: 'demo.yaml'
-
说明
- name: 应用名称 (必填) 在应用商店里展示的应用名称
- image: 图标地址 (必填) 在应用商店里展示的应用图标,尺寸(72x72)
- type: 应用分类 (必填) 在应用商店的文件分类,可选的类型有
- website: 网站
- file: 文件
- media: 影音
- download: 下载
- tool: 工具
- info: 应用介绍介绍 (选填) 在应用商店里展示的介绍,你可以在这里简单介绍应用的用途
- detail: 应用详情 (选填) 点击详情后展示的详细介绍,你可以在这里说明应用的详细使用方法,注意事项等
- config: 配置地址 (选填) 应用配置yaml的文件路径
-
效果
应用配置 demo.yaml
name: '示例'
image: hello-world
open: "7681"
hostNetwork: true
privileged: true
port:
"80": "88"
cmd: "/hello"
env:
"TEST": "1"
volume:
"/data": "Applications/hello-word/"
config:
'/etc/test.conf': |-
# hello world
test=1
-
说明
- name: 应用名称 (必填) 填写应用的名称
- image: 镜像地址 (必填) 填写容器启动的镜像地址
- open: 打开端口 (选填) 选择应用打开的web端口
- hostNetwork: 主机网络 (选填)
- 相当于–net host参数。
- 不填或值为false时,容器以桥模式运行
- 值为true,容器则会使用主机的网络,同时端口映射会失效。
- privileged: 特权模式 (选填)
- –privileged=true参数。
- 将主机的root权限赋予容器,容器可以访问主机的所有设备。
- port: 端口 (选填)
- 参数1: 容器端口 容器对应的端口
- 参数2: 主机端口 主机对应的端口
- 如果是Web应用,请在 ‘打开端口’ 中选择打开的Web端口!
- 将主机的某个端口映射到容器的某个端口。
- 注:当选择主机网络时,该选项不生效!
- cmd: 命令 (选填) 容器启动的命令。
- env: 环境变量 (选填) 给容器设置环境变量
- 相当于-e参数: 给容器设置环境变量。
- 参数1: 环境变量的名程
- 参数2: 环境变量的值
- volume: 目录挂载 (选填)
- 相当于-v参数: 将主机的某个端口挂载到容器的指定目录。
- 参数1: 容器对应目录
- 参数2: 宿主机绑定目录
- 若是相对目录,可在’设置->存储->存储位置’中修改文件的主储存位置。
- 若要挂载到指定的位置,请将此参数改为绝对目录!
- config: 配置文件 (选填)
- 将配置文件等参数挂载到容器的指定文件目录。
- 参数1: 配置文件在容器中的位置
- 参数2: 配置文件的内容
-
效果
用法例子
- 点击 商店->软件源
- 将 https://fixbits.top/public/demo/index.yaml 填入 新增源,点击加号
- 在商店中可以看到 示例-名字 和 示例-名字2
快速开始
- 找一台有公网IP的服务器
- 点击 商店->找到软件源示例->安装
- 点击 我的->软件源示例->详情->设置->配置参数,对yaml文件进行修改
- 点击 运行->打开
- 请求你部署的服务,确保地址正确
- 点击 商店->软件源
- 将 你搭建的地址 填入 新增源,点击加号
- 在商店中可以看到你添加的地址
其他搭建方式
- 对象存储 (非常推荐)
- 将yaml上传到对象存储中
- 复制yaml文件的地址
- git仓库(例如github、gitee)
- 将yaml上传到git仓库中
- 复制yaml文件的地址
问题排查
- 更新软件源后,商店未更新
- 软件源未加载
- 如果你的地址请求时间过久未响应,则会放弃请求。超时时间为5秒
- 请求的内容过大,则会拒绝解析。最大文件大小为1M。超过会下载失败。
- yaml格式不正确。请在IDE中调试,确保你的yaml格式正确无误
- 请求地址错误
- 单个软件无法显示
- 必填项未填
- 单行内容长度超过最大长度限制
- 请求地址 有上述错误
- xss防护
- 为了保护客户信息安全,使用了xss防护库,html展示时会对展示内容进行转义
- 如果上述指南无法解答你的问题,欢迎咨询客服
内容安全
- 请确保已阅读并同意《DK8s用户协议和隐私政策》,不搭建传播违规违法应用