This is an automated email from the ASF dual-hosted git repository.
Aias00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/master by this push:
new 37623cbc37 fix: pin collector docker image root path across versions
(#4189)
37623cbc37 is described below
commit 37623cbc37526bf259334754fada667fabc09df1
Author: NekoPunch <[email protected]>
AuthorDate: Mon Jul 13 08:27:22 2026 -0700
fix: pin collector docker image root path across versions (#4189)
Co-authored-by: Duansg <[email protected]>
Co-authored-by: aias00 <[email protected]>
---
home/docs/help/collector.md | 3 +++
home/docs/start/docker-deploy.md | 2 ++
.../current/start/docker-deploy.md | 2 ++
script/docker/collector/Dockerfile | 10 +++++-----
script/docker/collector/build.sh | 10 +++++-----
5 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/home/docs/help/collector.md b/home/docs/help/collector.md
index 0725b0c963..2f27b10a78 100644
--- a/home/docs/help/collector.md
+++ b/home/docs/help/collector.md
@@ -54,8 +54,11 @@ Parameters explanation:
- `-e MODE=public`: Set the running mode (public or private), for public
cluster or private cloud-edge mode.
- `-e MANAGER_HOST=192.168.1.100`: Important! Set the IP address of the main
HertzBeat server. Replace with your actual server IP.
- `-e MANAGER_PORT=1158`: (Optional) Set the port of the main HertzBeat
server, default is 1158.
+- `-v $(pwd)/ext-lib:/opt/hertzbeat-collector/ext-lib`: (Optional) Mount
external JDBC driver jars to the local collector.
- `-v $(pwd)/logs:/opt/hertzbeat-collector/logs`: (Optional) Mount the log
files to the local host.
+The collector image keeps `/opt/hertzbeat-collector` as a version-independent
root path, so `logs` and `ext-lib` mounts remain stable across upgrades.
+
## Operating Modes
HertzBeat Collector supports two operating modes:
diff --git a/home/docs/start/docker-deploy.md b/home/docs/start/docker-deploy.md
index 767baa99d9..bdeebc70e0 100644
--- a/home/docs/start/docker-deploy.md
+++ b/home/docs/start/docker-deploy.md
@@ -85,6 +85,7 @@ By deploying multiple HertzBeat Collectors, high
availability, load balancing, a
- `-e MANAGER_HOST=127.0.0.1` : Important, Set the main hertzbeat server ip
host, must use the server host instead of 127.0.0.1.
- `-e MANAGER_PORT=1158` : (optional) Set the main hertzbeat server port,
default 1158.
- `-e HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE=auto` : (optional) Override
the MySQL-compatible monitoring query path. Supported values: `auto`, `jdbc`,
`r2dbc`.
+ - `-v $(pwd)/ext-lib:/opt/hertzbeat-collector/ext-lib` : (optional) Mount
external JDBC driver jars to the collector.
- `-v $(pwd)/logs:/opt/hertzbeat-collector/logs` : (optional) Mount the log
file to the local host to facilitate viewing.
- `--name hertzbeat-collector` : Naming container name hertzbeat-collector
- `apache/hertzbeat-collector` : Use the [official application
mirror](https://hub.docker.com/r/apache/hertzbeat-collector) to start the
container, if the network times out, use `quay.io/tancloud/hertzbeat-collector`
instead.
@@ -95,6 +96,7 @@ By deploying multiple HertzBeat Collectors, high
availability, load balancing, a
- Marked as optional parameters, non-mandatory items, if not needed, delete
them.
- The `127.0.0.1` in `MANAGER_HOST` needs to be replaced with the external
IP address of the HertzBeat Server.
- When mounting files, the first parameter is your custom local file
address, and the second parameter is the container file address. Make sure you
have this file locally when mounting.
+ - The collector keeps `/opt/hertzbeat-collector` as the stable container
root path across upgrades.
- You can execute `docker update --restart=always hertzbeat-collector` to
configure the container to restart automatically.
- If you want to use the host network mode to start Docker, you can use
`docker run -d --network host .....`
diff --git
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/docker-deploy.md
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/docker-deploy.md
index 658b8fb41c..061f4eb852 100644
---
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/docker-deploy.md
+++
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/docker-deploy.md
@@ -83,6 +83,7 @@ HertzBeat Collector 是一个轻量级的数据采集器,用于采集并将数
- `-e MANAGER_HOST=127.0.0.1` : 重要, 配置连接的 HertzBeat Server 地址,127.0.0.1
需替换为 HertzBeat Server 对外 IP 地址。
- `-e MANAGER_PORT=1158` : (可选) 配置连接的 HertzBeat Server 端口,默认 1158.
- `-e HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE=auto` : (可选) 覆盖 MySQL
兼容监控查询链路。可选值:`auto`、`jdbc`、`r2dbc`。
+ - `-v $(pwd)/ext-lib:/opt/hertzbeat-collector/ext-lib` : (可选) 挂载外部 JDBC
驱动到采集器。
- `-v $(pwd)/logs:/opt/hertzbeat-collector/logs` : (可选)挂载日志文件到本地主机方便查看
- `--name hertzbeat-collector` : 命名容器名称为 hertzbeat-collector
- `apache/hertzbeat-collector` :
使用[官方应用镜像](https://hub.docker.com/r/apache/hertzbeat-collector)来启动容器,
若网络超时可用`quay.io/tancloud/hertzbeat-collector`代替。
@@ -92,6 +93,7 @@ HertzBeat Collector 是一个轻量级的数据采集器,用于采集并将数
- `MANAGER_HOST=127.0.0.1` 中的 `127.0.0.1` 需被替换为 HertzBeat Server 对外 IP 地址。
- 标记为可选的参数,非必填项,若不需要则删除。
- 挂载文件时,前面参数为你自定义本地文件地址,后面参数为容器内文件地址。挂载时请确保你本地已有此文件。
+ - 采集器容器会将 `/opt/hertzbeat-collector` 保持为稳定根路径,升级版本时无需调整 `logs` 和 `ext-lib`
的挂载目标。
- 可执行```docker update --restart=always hertzbeat-collector```配置容器自动重启。
:::
diff --git a/script/docker/collector/Dockerfile
b/script/docker/collector/Dockerfile
index 13d8f66157..2aa8f810be 100644
--- a/script/docker/collector/Dockerfile
+++ b/script/docker/collector/Dockerfile
@@ -17,21 +17,21 @@
FROM eclipse-temurin:25-jdk
-MAINTAINER Apache HertzBeat "[email protected]"
-
-ARG VERSION
+LABEL maintainer="Apache HertzBeat <[email protected]>"
# Install SSH
RUN sed -i 's#http://#https://#g' /etc/apt/sources.list.d/ubuntu.sources && \
apt-get update && apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
-ADD apache-hertzbeat-collector-${VERSION}-bin.tar.gz /opt/
+ADD apache-hertzbeat-collector-[0-9]*-bin.tar.gz /opt/
+
+RUN mv /opt/apache-hertzbeat-collector-[0-9]*-bin /opt/hertzbeat-collector
ENV JAVA_OPTS ""
ENV TZ=Asia/Shanghai
ENV LANG=en_US.UTF-8
-WORKDIR /opt/apache-hertzbeat-collector-${VERSION}-bin/
+WORKDIR /opt/hertzbeat-collector/
ENTRYPOINT ["./bin/entrypoint.sh"]
diff --git a/script/docker/collector/build.sh b/script/docker/collector/build.sh
index 03f93312b0..9c73f01251 100644
--- a/script/docker/collector/build.sh
+++ b/script/docker/collector/build.sh
@@ -38,17 +38,17 @@ fi
# docker compile context
CONTEXT_DIR=`pwd`
-COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
apache/hertzbeat-collector:$VERSION -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR
--build-arg VERSION="$VERSION" --push"
+COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
apache/hertzbeat-collector:$VERSION -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR
--push"
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
apache/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR
--build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
apache/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile $CONTEXT_DIR
--push"
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
quay.io/tancloud/hertzbeat-collector:$VERSION -f $CURRENT_DIR/Dockerfile
$CONTEXT_DIR --build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
quay.io/tancloud/hertzbeat-collector:$VERSION -f $CURRENT_DIR/Dockerfile
$CONTEXT_DIR --push"
-#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
quay.io/tancloud/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile
$CONTEXT_DIR --build-arg VERSION="$VERSION" --push"
+#COMMAND="docker buildx build --platform linux/arm64,linux/amd64 -t
quay.io/tancloud/hertzbeat-collector:latest -f $CURRENT_DIR/Dockerfile
$CONTEXT_DIR --push"
# Build Local
-#COMMAND="docker build -t apache/hertzbeat-collector:$VERSION -f
$CURRENT_DIR/Dockerfile $CONTEXT_DIR --build-arg VERSION="$VERSION" "
+#COMMAND="docker build -t apache/hertzbeat-collector:$VERSION -f
$CURRENT_DIR/Dockerfile $CONTEXT_DIR"
echo "$COMMAND"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]