ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

docker-compose安装jpom,并构建前后端项目教程

2026/9/19 23:41:29 拓冰建站 浏览量
docker-compose安装jpom,并构建前后端项目教程 1. 自行安装docker-compose2. 配置jpom的docker-compose.yml文件version: 3 services: portainer: image: jpomdocker/jpom container_name: jpom-server # 容器名为jpom-server restart: always # 指定容器退出后的重启策略为始终重启但是不考虑在Docker守护进程启动时就已经停止了的容器 volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录 - ./jpom/logs:/usr/local/jpom-server/logs - ./jpom/data:/usr/local/jpom-server/data - ./jpom/conf:/usr/local/jpom-server/conf environment: # 设置环境变量,相当于docker run命令中的-e TZ: Asia/Shanghai LANG: en_US.UTF-8 ports: # 映射端口 - 2122:21223.启动jpomcd /home/toc/docker-compose/jpomdocker-compose up -ddocker ps 查看服务是否启动安装jpom的agent插件# 提前创建好文件夹 并且切换到对应到文件夹执行命令mkdir -p /home/toc/docker-compose/jpom/agent/ cd /home/toc/docker-compose/jpom/agent/ apt-get install -y wget wget -O install.sh https://jpom.top/docs/install.sh bash install.sh Agent jdk如果提示运行报错apt-get command not found安装wget:再去执行命令wget -O install.sh https://jpom.top/docs/install.sh bash install.sh Agent jdk4.登录jpom:你的ip:端口如果是云服务器记得添加端口安全组如果是本地服务器记得开放一下本地防火墙端口5.配置构建项目设置5.1配置ssh服务器信息5.2 点击分配空间5.3 关联工作空间5.4 点击配置 。这里配置的是构建后jar和vue前端的dist的存放路径多个路径换行就可以我这里前端和后端的存放路径是在不同的服务器上面5.5 配置docker管理容器名称是刚刚安装的jpom在容器的名称host是jpom的服务器的ip地址端口2375需要配置一下并开放端口docker打开2375监听端口1、编辑dock er.service 在[service]的ExecStart 添加 -H tcp://0.0.0.0:2375# vi /usr/lib/systemd/system/docker.service2、在ExecStart 添加 -H tcp://0.0.0.0:2375ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd/run/containerd/containerd.sock3、刷新配置文件systemctl daemon-reload4、重启dockersudo systemctl restart docker 或者 sudo systemctl start docker5、开放端口添加防火墙2375/tcp 并重载防火墙实在对命令不敏感直接找到/usr/lib/systemd/system/docker.service文件把步骤2直接替换复制进去就行如果在找不到/usr/lib/systemd/system/docker.service文件去/etc/docker/daemon.json找daemon.json文件没有新增这个文件加入{ hosts: [unix:///var/run/docker.sock, tcp://0.0.0.0:2375] }重启dockewr sudo systemctl restart docker 查看端口是否开放 # 检查是否监听 2375 端口无输出则未监听 sudo netstat -tulnp | grep 2375如果启动重启docker失败报错Docker容器异常See “systemctl status docker.service“ and “journalctl -xe“ for details.参考https://blog.csdn.net/Abraxs/article/details/130549026daemon.json文件在/etc/docker目录下解决完重启docker就行分配docker5.6 配置拉取git镜像地址5.7 构建前端项目选择容器构建点击查看当前可用容器DSL内容fromTag: tag改成你自己的# 基础镜像 目前仅支持 ubuntu-latest runsOn: ubuntu-latest # 使用哪个 docker 构建,填写 docker 标签 默认查询可用的第一个,如果 tag 查询出多个也选择第一个结果 fromTag: tag steps: - uses: node version: 22.14.0 # 将容器中的 node_modules 文件缓存到 docker 卷中 - uses: cache path: ${JPOM_WORKING_DIR}/node_modules # 使用 copy 文件的方式缓存反之使用软链的形式。copy 文件方式缓存 node_modules 可以避免 npm WARN reify Removing non-directory mode: copy - run: npm config set registry https://registry.npmmirror.com # 内置变量 ${JPOM_WORKING_DIR} ${JPOM_BUILD_ID} - run: cd ${JPOM_WORKING_DIR}/ npm install --registryhttps://registry.npmmirror.com npm run build:prod选择构建前端的存放地址直接下一步啥都不用填写直接保存构建就可以了构建成功之后在对应目录下面能找到构建你的产物5.8 构建后端项目步骤都一样一下是不同区别的地方产物目录对应的你项目本地打成jar后的目录也是对应你git上面的目录DSL内容runsOn: ubuntu-latest # 使用哪个 docker 构建,填写 docker 标签 默认查询可用的第一个,如果 tag 查询出多个也选择第一个结果 fromTag: tag # version 需要在对应镜像源中存在 # java 镜像源 https://mirrors.tuna.tsinghua.edu.cn/Adoptium/ # maven 镜像源 https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/ # node 镜像源 https://registry.npmmirror.com/-/binary/node/ # 目前支持的 uses 插件端 java、maven、node、go、python3、gradle 。如果不满足需求可自行配置插件 steps: - uses: java version: 8 - uses: maven version: 3.9.9 # 将容器中的 maven 仓库文件缓存到 docker 卷中 - uses: cache path: /root/.m2 # 将此目录缓存到全局多个构建可以共享此缓存目录 type: global - run: cd ${JPOM_WORKING_DIR} mvn clean install -am -amd -Pmaster -Dmaven.test.skiptruerun: cd ${JPOM_WORKING_DIR} mvn clean install -am -amd -Pmaster -Dmaven.test.skiptrue 这个Pmaster对应你要启动哪个yml文件例如我我要构建jar的时候启动的是master的配置文件如何动态加载配置文件自行百度这里对应的发布后执行的命令就是你构建要存放的文件路径cd /home/toc/docker-compose/hyjk-othmp docker-compose down -v docker rmi hyjkothmp docker-compose up -d --build直接保存构建就可以了