使用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配置如下所示:
image

编辑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

  1. http://[服务器地址]:2122
  2. 首次打开需要创建账号密码,下次打开输入账号密码登录
  3. 在机器管理中添加agent节点,并把节点分配到工作空间
posted @ 2025-07-26 17:37  0611163  阅读(70)  评论(0)    收藏  举报