最近想搭一搭个人服务器,其中有很多东西都是通过 docker 来管理,每次都手动输入命令比较麻烦,需要一个轻量级的容器管理工具来直观轻松的管理容器和镜像。于是便相中了 humpback。
Humpback
humpback 相关的详细介绍请自助传送
架构
主要组件
- humpback website
提供一个可视化界面,用户可以进行权限管理,容器管理,镜像管理,客户端节点管理(单机/集群),镜像地址 - humpback agent
在每个目标节点(需要管理容器/镜像的机器)上的一个客户端程序,用于接收来自 humpback website/humpback center 的命令并执行,需要管理容器或者镜像的机器都需要安装这个,镜像地址 - humpback center
集群中心(集群节点的发现和管理),主要是用于批量操作(创建,删除,修改,迁移)容器/镜像,镜像地址
通过 docker compose 部署
前置条件
机器都已经安装上 docker,docker compose
部署 Website
docker-compose.yml 如下:
其中的部分配置如 映射的到本机的目录列表/端口都可以改成自己想要的
version: "3.9"
services:
humpback-web:
image: humpbacks/humpback-web:1.3.0
container_name: humpback-web
volumes:
- ./dbfiles:/humpback-web/dbFiles
ports:
- 8001:80
restart: unless-stopped
执行 docker compose up -d
,在容器运行起来之后,我们访问绑定到本地的 8001 端口:
就会看到如下界面,输入默认的管理员账户和密码后即可进入系统
- 账户:admin
- 密码:123456
建议登陆之后就修改一次密码,入口在 Account >> Change Password,
进入系统后如果需要新加用户可以通过 Manage >> Users >> Add User 完成,如下
部署 Agent
docker-compose.yml 如下
其中的部分配置如 映射的到本机的目录列表都可以改成自己想要的
version: "3.9"
services:
humpback-agent:
image: humpbacks/humpback-agent:1.3.2
container_name: humpback-agent
volumes:
- /var/run:/var/run/:rw
- ./compose_files:/opt/app/humpback-agent/compose_files/
environment:
- DOCKER_CLUSTER_ENABLED=false
- DOCKER_API_VERSION=v1.21
restart: unless-stopped
# 因为需要和宿主机共用网络,所以这里需要使用 host 模式
network_mode: host
执行 docker compose up -d
,在容器运行起来之后,我们可以继续下一步
在 Website 中添加对应节点
这一步之所以在部署 Agent 之后,是因为能够被扫描到的机器必须部署 Agent。
进入我们先前部署的 Website,
按照 Manage >> Groups >> Add Group 路径操作,如下
点击 Add Group 后,你会看到下面的界面:
- Name: Group 的名称,这里可以按照你具体的分组名称来
- Description:描述一下这个组是干什么的
- Open to public:是否公开,如果这个 Enable,则即使不是这个 Group 的 Owner 也可以看到
- Cluster Mode:是集群模式还是单机模式
- Contact Info:联系信息,一般填写维护人员邮箱即可
- Owners:在这里的都可以修改这个 Group(管理员账号即使不在也可以编辑)
- Servers:Group 中的节点列表,可以增加对应的节点(也就是我们前面部署 Agent 的对应机器),
- name 可以随意填写,能够区分即可
- IP 就填写对应的机器内网 IP 即可
我这里填写完成后的如下:
点击 Save 保存成功后,我们去到 Group >> prod >> prod-1,即可看到对应机器上的容器,点击 Docker Images 即可查看/管理对应机器的镜像