CI/CD docker compose 部署 humpback - single mode

最近想搭一搭个人服务器,其中有很多东西都是通过 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 version 获取到需要安装 Agent 机器上 docker 对应的 docker api version,我这里的是 1.41,用于填充容器的 DOCKER_API_VERSION 环境变量
在这里插入图片描述

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.41
    restart: unless-stopped
    # 因为需要和宿主机共用网络,所以这里需要使用 host 模式,不想使用 host 模式可以通过 ports 映射 xx:8500 端口来完成,website 是通过 {agent host}:{agent port}/v1/ping 来测试连接是否成功
    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 的对应机器),
    1. name 可以随意填写,能够区分即可
    2. IP 就填写对应的机器内网 IP 即可

我这里填写完成后的如下:
在这里插入图片描述
点击 Save 保存成功后,我们去到 Group >> prod >> prod-1,即可看到对应机器上的容器,点击 Docker Images 即可查看/管理对应机器的镜像
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值