Komari 探针端 (Agent) Docker里面跑

Komari 是一款出色的轻量级服务器探针,找了一圈没找到docker里面跑 Agent的成品,手搓一个

本帖子写了如何使用 Dockerfile 和 Docker Compose 自己动手打包 Agent,使其完行在 Docker 容器中,各位佬献丑了。


第一步:创建 Agent 目录

在你的探针机(宿主机)上,创建一个专门的文件夹来存放我们的配置文件。

mkdir komari-agent-docker
cd komari-agent-docker

第二步:创建 Dockerfile

在这个新目录中,创建一个名为 Dockerfile 的文件,将以下内容粘贴进去。

这个文件会在构建时自动从官方源拉取最新的 Agent 程序并打包成一个最小化的镜像。

# --- 阶段 1: 下载器 (Builder) ---
# 使用 alpine 作为基础镜像,并命名为 builder
FROM alpine:latest AS builder

# 安装 curl 用于下载
RUN apk add --no-cache curl

# Docker 会自动传入这个构建参数 (例如 amd64 或 arm64)
ARG TARGETARCH

# 根据架构设置文件名和下载 URL
ENV AGENT_FILE "komari-agent-linux-${TARGETARCH}"
ENV DOWNLOAD_URL "https://github.com/komari-monitor/komari-agent/releases/latest/download/${AGENT_FILE}"

# 执行下载并赋予执行权限
# 我们将下载的文件重命名为 /agent-binary 以方便复制
RUN curl -sL ${DOWNLOAD_URL} -o /agent-binary && \
    chmod +x /agent-binary


# --- 阶段 2: 最终镜像 (Final Image) ---
# 使用一个全新的、干净的 alpine 镜像
FROM alpine:latest

# 安装 HTTPS 连接所需的证书 (Agent 需要)
RUN apk add --no-cache ca-certificates

WORKDIR /app

# 从 builder 阶段复制已下载并赋权的 Agent 执行文件
COPY --from=builder /agent-binary /app/komari-agent

# 设置容器的启动命令
ENTRYPOINT [ "/app/komari-agent" ]

第三步:创建 docker-compose.yml

同一个目录下,创建 docker-compose.yml 文件。

services:
  agent:
    build: .
    container_name: komari-agent
    restart: unless-stopped
    
    # --- 权限配置 ---
    # 必须:使用宿主机网络,否则网络数据不准
    network_mode: host
    # 必须:给予特权,才能读取硬件信息
    privileged: true
    
    # --- 挂载配置 (解决 /proc 冲突的最终版) ---
    volumes:
      # 允许写入 /proc (解决启动冲突的关键)
      - /proc:/proc
      
      # 其他的保持只读
      - /sys:/sys:ro
      - /dev:/dev:ro
      - /etc/localtime:/etc/localtime:ro
      - /etc/os-release:/etc/os-release:ro

    # --- !!! 关键:填入你的真实参数 !!! ---
    command: >
      --endpoint "http://你的Komari服务器IP或域名:端口"
      --token "你在Komari仪表盘上获取的密钥"

第四步:【关键】修改启动参数

这是最重要的一步。打开你刚创建的 docker-compose.yml 文件,找到最后的 command: 部分:

    command: >
      --endpoint "http://你的Komari服务器IP或域名:端口"
      --token "你在Komari仪表盘上获取的密钥"

请将 http://你的Komari服务器IP或域名:端口 和 你在Komari仪表盘上获取的密钥 替换成你从 Komari 仪表盘 “添加服务器” 页面获取到的真实信息。

第五步:构建并启动

确保你的 Dockerfile 和 docker-compose.yml 都在同一个目录中,并且你已经修改好了参数。在该目录下,运行以下命令来构建镜像并启动容器:

docker-compose up -d --build

等待命令执行完毕。如果一切顺利,你的 Agent 容器就已经在后台运行了。现在去你的 Komari 仪表盘查看,探针应该已经上线了!

原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/1572.html

(0)
mantoumantou
上一篇 2025年10月31日
下一篇 2025年11月29日

相关推荐

  • 给网站添加 Chatra 在线客服插件

    今天给大伙介绍另一款名叫Chatra的插件,两者使用差异并不算大,但个人更喜欢Crisp Chatra是一款功能强大且易于使用的聊天软件,可用于网站,使您的客户在离线时通过实时聊天…

    2021年3月27日
  • Windows11开启官方BBR支持

    Windows11开启官方BBR支持,以下命令如果报错或者提示参数不存在等问题,均是因为你系统版本不够高,命令用管理员PowerShell执行。开启BBR支持: netsh int…

    2023年3月20日
  • docker hub 自建镜像加速

    在拉取镜像时发现之前使用的代理已经失效了,而且 auth.docker.io 也被墙,导致网上很多教程都失效了,搜索到一个可用的就写下来当作备忘录。 有两种自建方案,一个是 ngi…

    代码程序 2025年9月14日
  • IP属地查询源码(包含前端和后端源码) – 支持IPV4/V6

    文章前言 本源码调用纯真和zxinc离线数据库支持IPV4 IPV6数据库 注意 现在纯真已经不维护免费的IP数据库了 大家且用且珍惜吧! 页面截图 源码下载 IP属地查询源码 来…

    2022年12月10日
  • 使用 acme.sh 部署通配符证书申请与分发服务

    你是不是也遇到过这些问题:太穷买不起年付的通配符证书,手上有好几台白嫖的服务器,有的还没有 80 和 443 端口,证书申请起来麻烦,手动申请和部署的话每几个月还要维护一次(免费证…

    代码程序 2022年4月5日
  • 富士 XF56mm F1.2 R WR

    富士 XF56mmF1.2 R WR 最近买了一只镜头,主要原因是X100V 夜拍能力太差,晚上拿起相机想快速拍一张的时候大概率是糊的,要么就拉高ISO 全是噪点。对富士镜头群不了…

    2023年9月7日
  • cloudflare配置详解

    本篇文章会以我目前的能力,来尽量解释cloudflare每一个功能,肯定会有错误 欢迎指出 可以点击右侧目录调转到自己需要的章节 已学习: website Overview Ana…

    2023年3月3日
  • Linux服务器SSH端口一键修改脚本

    说明:我们的很多VPS服务器,默认的端口都是22,所以一直会被人扫描爆破,很容易会出现问题,所以我们需要通过修改端口来尽可能减少这种事情发生,但对于很多小白或者很懒的人来说,更喜欢…

    代码程序 2021年5月25日
  • VidHub-免费的Apple全平台网盘视频私人资源程序

    前言 总所周知,Infuse一直是苹果生态中非常优秀的播放器,近期有一款名为VidHub的国产播放器正在挑战它的地位。VidHub目前已经更新了Apple的三大OS支持,播放器目前…

    代码程序 2024年2月28日
  • virtualizor安装并对接whmcs

    前提 almalinux8或者centos7都可以直接照抄,我是一直用的almalinux8 开始 首先更个新 yum update -y 然后开个心 单押skr echo “15…

    2025年4月25日

发表回复

登录后才能评论