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日
下一篇 2021年3月27日

相关推荐

发表回复

登录后才能评论