原标题:基于Docker的工具/服务即插即用PhD 移动程序分析与优化 废话不多说,先上动图,假设要在开发机上启动mitmproxy这个代理工具
Appetizer 1.3.14 新功能,工具即插即用,一键起停,首发支持Jenkins, Influxdb, Gitlab, Grafana, ATXServer, mitmproxy, Hitchhiker, STF,持续开放增加中。。。 解决了什么问题
每当要用个新工具,前几个小时花在python 2.7不行,要3.6jdk 6不行要8sudo pip install 等啊等,SSL一会又出错了go build 等npm install 还是cnpm install...
这些从源代码开搞的安装成年旧事早就应该淘汰了,处处用sudo,处处全局安装,离系统重装不远。Docker早就来解决这些问题了,工具自己需要Python/JDK/Node/Go的版本自己声明,build过程写入Dockerfile,build成镜像,安装工具是直接抓取镜像直接跑就好。是时候想到装工具首选用Docker,于是我们Appetizer就把这一溜常用的工具的docker安装全都撸了一遍,写成了统一的部署脚本,然后就,一键安装起停咯。当然是支持三平台的,只要装好Docker,其他事情交给我们(Windows, mac有Docker Desktop全家福, linux直接包管理装)。Use case: 我听说一个新工具,想试用看看 用 Appetizer 一键就好我要用XXX 抓包/存数据/可视化数据/xxx用 Appetizer 一键就好,用完关闭,不担心daemon常驻耗内存我要在服务器上装这些工具,全网用服务器上装好Docker 运行 Appetizer 一键即可,没差别我有个本地的工具想迁移到服务器上 Appetizer 创建工具的容器时,工具运行时产生的数据是mount到存储卷的(比如log, 数据等),具体用到哪些存储卷可以通过每个工具的详细信息了解。在服务器上用Appetizer同样安装这个工具,然后把存储卷数据从本地rsync到服务器对应的存储卷即可 我是docker高级玩家docker compose配置在,随便玩,透明的我是k8s高级玩家,我手下有xxx个容器,xxx个负载均衡实例,xxx个dashboard那你自己玩 原理
原理很简单,Docker装好之后,有非常完整的API:Docker Engine API v1.37 Reference docs.docker.com
docker命令行工具其实是API的封装,而 Appetizer 是直接调用API管理Docker的。
在管理每个具体工具的时候,我们撸了一遍每个工具的docker安装文档,绝大多数都是建议用 docker run xxx 命令行工具来部署的。我们统一采用的docker compose配置文件格式。科普一下docker compose是一个(官方)工具,读取yml格式的配置文件,可以自动管理一个工具需要的多个docker 容器(比如工具依赖mysql容器等等)。用compose格式的另一个好处是可以全面地管理工具运行中产生的数据(存储卷)。Appetizer可以读取标准的docker compose yml配置文件并执行它,兼容官方的docker-compose工具。每个Appetizer支持的工具的详细信息里都有会抓取的镜像,容器名字,端口映射以及存储卷(volume) 例如:
Appetizer的每个工具的docker compose yml配置,可以单独拿出来,用官方的docker-compose来用 开放协作
所有的目前的(以及未来的)工具的metadata和compose配置都在这里:appetizerio/OpenServices github.com
欢迎PR增加新工具/服务我想用一个新工具,有Docker安装方式,Appetizer没有收录点击 “贡献新的服务”,填写metadata (工具名称,logo,官网等等信息),重要的是写好它的compose文件(需要docker知识),提交后我们马上会处理、测试,最快下次发版我想用一个新工具,没有Docker安装方式可以先提交metadata,docker处留空,积极推进Docker化我做了一个新工具,希望Appetizer收录首先,学习docker并docker化你的工具,然后“贡献新的服务”为什么没有Appium?Appium不是也有Docker部署么?Appium比较特别,需要访问USB设备,在linux下就是要访问 /dev/usb 是个特权操作,所以Appium在Linux上用Docker部署需要创建特权容器;Appium在非Linux上Docker安装,也是因为这个特权原因,需要搞一个docker machine,相当于一个虚拟机,暂时不在目前Appetizer支持的框架内为什么STF还不支持Docker部署?STF的情况和Appium类似,而且STF的Docker部署非常混乱,努力中 AppetizerIO QQ群:467889502 文档 Appetizer文档 | Appetizer doc.appetizer.io
留言与评论(共有 0 条评论) |