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