使用Docker部署Jpom
目标服务器
arm64架构
下载Jpom安装包
https://jpom.top/pages/all-downloads/
我下载的是jpom-2.11.12.zip
在Windows环境构建Docker镜像
拉基础镜像
拉基础镜像我用的是我自己的阿里云账号的镜像加速器:
// daemon.json 配置
{
"registry-mirrors": [ "https://xxxxxxxx.mirror.aliyuncs.com" ]
}
镜像是在 https://cr.console.aliyun.com/cn-hangzhou/instances/artifact 搜索jdk找的
拉基础镜像的命令:
docker pull anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
docker配置如下所示:

编辑Dockerfile
1. 编辑jpom-server Dockerfile
# 使用您指定的 OpenJDK 8 基础镜像
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
# 设置工作目录
WORKDIR /usr/local/jpom-server
# 设置环境变量
ENV JPOM_VERSION=2.11.12
ENV JPOM_HOME=/usr/local/jpom-server
# 创建目录结构
RUN mkdir -p ${JPOM_HOME}/{bin,conf,lib}
# 复制 JPOM Server 文件
#因为Dockerfile在server-${JPOM_VERSION}-release目录下,所以这里路径不用带server-${JPOM_VERSION}-release
COPY bin/*.sh ${JPOM_HOME}/bin/
COPY lib/*.jar ${JPOM_HOME}/lib/
COPY conf/*.yml ${JPOM_HOME}/conf/
COPY conf/*.xml ${JPOM_HOME}/conf/
#COPY server-${JPOM_VERSION}-release/bin/*.sh ${JPOM_HOME}/bin/
#COPY server-${JPOM_VERSION}-release/lib/*.jar ${JPOM_HOME}/lib/
#COPY server-${JPOM_VERSION}-release/conf/*.yml ${JPOM_HOME}/conf/
#COPY server-${JPOM_VERSION}-release/conf/*.xml ${JPOM_HOME}/conf/
# 设置权限
RUN chmod +x ${JPOM_HOME}/bin/*.sh
# 暴露端口 (默认端口,可根据需要修改)
EXPOSE 2122
# 设置启动命令
CMD ["/usr/local/jpom-server/bin/Server.sh", "start"]
2. 编辑jpom-agent Dockerfile
# 使用您指定的 OpenJDK 8 基础镜像
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
# 设置工作目录
WORKDIR /usr/local/jpom-agent
# 设置环境变量
ENV JPOM_VERSION=2.11.12
ENV JPOM_HOME=/usr/local/jpom-agent
# 创建目录结构
RUN mkdir -p ${JPOM_HOME}/{bin,conf,lib}
# 复制 JPOM Agent 文件
COPY bin/*.sh ${JPOM_HOME}/bin/
COPY lib/*.jar ${JPOM_HOME}/lib/
COPY conf/*.yml ${JPOM_HOME}/conf/
COPY conf/*.xml ${JPOM_HOME}/conf/
# 设置权限
RUN chmod +x ${JPOM_HOME}/bin/*.sh
# 暴露端口 (默认端口,可根据需要修改)
EXPOSE 2123
# 设置启动命令
CMD ["/usr/local/jpom-agent/bin/Agent.sh", "start"]
Docker构建镜像并导出
1. Docker构建jpom-server镜像并导出命令
Docker构建jpom-server镜像并导出镜像tar包,把tar包复制到目标服务器上,然后导入到目标服务器Docker中。
构建时要指定arm64平台:--platform linux/arm64
# 构建
docker buildx build --platform linux/arm64 -t jpom-server:2.11.12 .
# 导出
docker save -o jpom-server-2.11.12.tar jpom-server:2.11.12
2. Docker构建jpom-agent镜像并导出命令
Docker构建jpom-agent镜像并导出镜像tar包,把tar包复制到目标服务器上,然后导入到目标服务器Docker中。
构建时要指定arm64平台:--platform linux/arm64
#构建
docker buildx build --platform linux/arm64 -t jpom-agent:2.11.12 .
#导出
docker save -o jpom-agent-2.11.12.tar jpom-agent:2.11.12
在目标服务器上导入镜像并运行
导入镜像
# 导入
docker load -i jpom-server-2.11.12.tar
docker load -i jpom-agent-2.11.12.tar
目标服务器创建目录
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
mkdir -p /home/jpom-client/logs
mkdir -p /home/jpom-client/data
mkdir -p /home/jpom-client/conf
命令中-p的意思是父目录不存在则创建父目录
复制jpom配置文件到目标服务器
jpom-server和jpom-agent的conf文件夹中的配置文件分别复制到目标服务器/home/jpom-server和/home/jpom-agent目录下的对应目录
启动jpom-server
docker run -d --name jpom-server -p 2122:2122 --restart=always -v /home/jpom-server/data:/usr/local/jpom-server/data -v /home/jpom-server/logs:/usr/local/jpom-server/logs -v /home/jpom-server/conf:/usr/local/jpom-server/conf jpom-server:2.11.12
启动jpom-agent
docker run -d --name jpom-agent -p 2123:2123 --restart=always -v /home/jpom-agent/data:/usr/local/jpom-agent/data -v /home/jpom-agent/logs:/usr/local/jpom-agent/logs -v /home/jpom-agent/conf:/usr/local/jpom-agent/conf jpom-agent:2.11.12
使用 Host 网络模式(推荐)
在Jpom项目列表中管理和启动项目时有用
直接让容器共享宿主机的网络命名空间,省去端口映射步骤:
docker run -d --name jpom-agent --network host -p 2123:2123 --restart=always -v /home/jpom-agent/data:/usr/local/jpom-agent/data -v /home/jpom-agent/logs:/usr/local/jpom-agent/logs -v /home/jpom-agent/conf:/usr/local/jpom-agent/conf jpom-agent:2.11.12
打开jpom
- http://[服务器地址]:2122
- 首次打开需要创建账号密码,下次打开输入账号密码登录
- 在机器管理中添加agent节点,并把节点分配到工作空间

浙公网安备 33010602011771号