Docker Humpback
Docker容器作为微服务的重要组成部分,伴随着微服务的流行,在很多公司已经落地并投入生产。不过,docker为dev和ops带来便利的同时,docker的编排和创建管理也带来了一些问题。纯手动操作docker,一个两个还好,多了估计能逼疯dev和ops,尤其是ops,用kubernetes, 仅仅是安装配置就够烦人,很多镜像都在google上,国内的网络环境大家都懂,并且kubernetes要分布式,官网给的例子都是一个master,两个node,有够复杂。
不过,幸好找到了一个轻量级的容器管理工具—Humpback。它的思路跟常用的操作系统监控差不多,在各个被操作的机器上安装完docker后再安装它的agent,然后在一台master上部署它的web系统就可以了,实现起来简单方便,单机多节点都可以,非常适合中小公司尤其是创业公司来使用。

1、Humpback能做什么?

说了这么多,那么Humpback都能做什么呢,大概能实现如下操作。

  • 以 Web界面 的方式,来进行容器的创建/运行以及管理(启动,停止,重启,监控,应用版本升级/回退)。
  • 镜像构建,将镜像所需文件和Dockfile打包为 .tar.gz 文件,就可以打包为一个镜像。
  • 管理私有仓库,将自己部署好的私有仓库,纳入到humpback的管理中。
  • 集群容器调度,当部署一个app时,只需要告诉humpback,要部署多少个实例,humpback会自动根据配置进行集群部署,并通过WebHook通知部署结果。
  • 对容器管理进行权限设定。

    2、安装Humpback和Agent

    Humpback和Agent都是基于Docker进行安装,因此在安装前需要先安装docker。
    安装完docker后执行如下命令安装Humpback,docker会自动查找镜像进行安装:
    1. docker run -d --net=host --restart=always -e HUMPBACK_LISTEN_PORT=8000 -v /var/local/software/dockerimage/humpback-web/dbFiles:/humpback-web/dbFiles --name humpback-web humpbacks/humpback-web:1.0.0
    安装agent:
    1. docker run -d -ti --net=host --restart=always -e DOCKER_API_VERSION=v1.21 -v /var/run/:/var/run/:rw --name=humpback-agent humpbacks/humpback-agent:1.0.0
    都执行完后在浏览器访问IP:8000即可看到登录界面,输入默认用户名admin默认密码:123456进行登录。
    image.png

    3、容器管理

    登录web界面后需要先创建一个Group。并将部署了 agent 的机器IP,添加到Servers属性中。
    image.png
    创建完Group后,在左侧按钮点击Group,就可以看到创建的group名称,点击名称下边的节点IP名就可以看到agent机器上所有的docker应用。
    image.png
    点击单个容器右侧的操作,就可以来操作容器了,比如要启动一个已经存在的容器。如下图机器上只有humpback和agent两个容器启动。
    image.png
    启动firstDocker 容器。稍微等一分钟会弹出成功提示,如果不成功则需要进入机器查看日志原因。
    image.png

    新建Docker容器

    有两种方式。新建一个全新的或者基于某个已存在容器做细微修改后新建一个容器。如图所示:
    image.png
    image.png

    克隆容器

    选择要克隆的容器进行该容器的管理界面
    image.png
    image.png
    image.png