jar包打包命令
mvn clean install package -Dmaven.test.skip=true
创建文件夹 docker-ai
文件夹下放入需要jar包的文件夹
及 docker-compose.yml
文件
docker-compose.yml 内容:我这里的是ai服务,所以将原先的文件内容做了变更,你们需要用到什么服务就在下面文件中进行更改即可
version: '3'
services:
yudao-gateway:
build:
context: ./yudao-system
image: yudao-gateway
container_name: yudao-gateway
environment:
- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)
- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking
- SW_AGENT_NAME=yudao-gateway
- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址
- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境
- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址
- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址
- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
volumes:
- /docker/yudao-cloud/logs:/root/logs/
- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agent
restart: always
network_mode: host # 以主机网络环境运行
yudao-system:
build:
context: ./yudao-system
image: yudao-module-system-biz
container_name: yudao-system
environment:
- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)
- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking
- SW_AGENT_NAME=yudao-gateway
- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址
- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境
- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址
- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址
- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
volumes:
- /docker/yudao-cloud/logs:/root/logs/
- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agent
healthcheck:
test: [ "CMD","curl","-f","http://localhost:48081" ]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
restart: always
network_mode: host
yudao-infra:
build:
context: ./yudao-infra
image: yudao-module-infra-biz
container_name: yudao-infra
environment:
- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)
- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking
- SW_AGENT_NAME=yudao-gateway
- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址
- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境
- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址
- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址
- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
volumes:
- /docker/yudao-cloud/logs:/root/logs/
- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agent
restart: always
network_mode: host
healthcheck:
test: [ "CMD","curl","-f","http://localhost:48082" ]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
depends_on:
yudao-system:
condition: service_healthy
yudao-ai:
build:
context: ./yudao-ai
image: yudao-module-ai-biz
container_name: yudao-ai
environment:
- TZ=Asia/Shanghai # 配置程序默认时区为上海(中国标准时间)
- JAVA_TOOL_OPTIONS=-javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar # 配置skywalking
- SW_AGENT_NAME=yudao-gateway
- SW_AGENT_TRACE_IGNORE_PATH=Redisson/PING,/actuator/**,/admin/**
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=[YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址
- SPRING_PROFILES_ACTIVE=test # 指定程序运行环境
- SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=[YOUR_NACOS_ADDR] # 配置中心地址
- SPRING_CLOUD_NACOS_CONFIG_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
- SPRING_CLOUD_NACOS_SERVER_ADDR=[YOUR_NACOS_ADDR] # 注册中心地址
- SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE=[YOUR_NAMESPACE] # 命名空间
volumes:
- /docker/yudao-cloud/logs:/root/logs/
- /data/skywalking/skywalking-agent:/data/skywalking/skywalking-agent
restart: always
network_mode: host
depends_on:
yudao-infra:
condition: service_healthy
其他jar包文件夹
下都放的是对应的jar包
及Dockerfile
文件
拿 yudao-gateway 文件夹举例:
Dockerfile
文件需要更改jar包
所在位置
两种启动方式:
推荐方式一
方式一:docker一个个的启动,要每个服务下面都要放一份下面脚本
例:
拿 gateway服务启动脚本举例,这个脚本在网上找的,将路径和容器名称更改一下即可,已经验证过了,脚本是可行的,脚本创建完成之后记得赋予其权限,在脚本执行之前需要先创建每一个容器 docker build -t yudao-gateway .
(后面有个.
不要忽略了),之后就只需要运行脚本就可以启动了
#!/bin/bash
set -e
## 第一步:删除可能启动的老 goodsoft-gateway 容器
echo "开始删除 goodsoft-gateway 容器"
docker stop goodsoft-gateway || true
docker rm goodsoft-gateway || true
echo "完成删除 goodsoft-gateway 容器"
## 第二步:启动新的 goodsoft-gateway 容器 \
echo "开始启动 goodsoft-gateway 容器"
## 重新构建 解决jar包更新后不生效的问题
docker build -t goodsoft-system .
docker run -d \
--name goodsoft-gateway \
-p 48080:48080 \
-e "SPRING_PROFILES_ACTIVE=dev" \
-v /home/ai/docker-ai/goodsoft-gateway:/root/logs/ \
goodsoft-gateway
echo "正在启动 goodsoft-gateway 容器中,需要等待 60 秒左右"
解决文件上传问题,原因:java服务中文件上传到服务器目录上的问题,因为docker文件与服务器的文件互不相通
-v /usr/sftp/file:/usr/sftp/file \
如果遇到以下报错
编辑 Docker 配置文件 加个代理源
sudo vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://docker.rainbond.cc"
]
}
保存退出后重启docker
sudo systemctl restart docker
方式二:
在 docker-ai
下运行以下命令启动:
docker compose -f docker-compose.yml up -d
用docker compose
启动报错 ERROR [yudao-gateway internal] load metadata for docker.io/library/eclipse-temurin:21-jre
Docker 尝试拉取 eclipse-temurin:21-jre 镜像时遇到了网络相关的问题,使用国内镜像加速器
解决:找到 /etc/docker/daemon.json
更改为:
{
"registry-mirrors": [ "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://docker.rainbond.cc" ]
}
重新启动
docker compose -f docker-compose.yml up -d
yudao-system
服务启动失败报错了
检查log日志 docker logs yudao-system
[root@iZ8vbj8zzik3i0x7siftkrZ docker-ai]# docker logs yudao-system
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent.jar
Error occurred during initialization of VM
agent library failed Agent_OnLoad: instrument
Picked up JAVA_TOOL_OPTIONS: -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar
Error opening zip file or JAR manifest missing : /data/skywalking/skywalking-agent/skywalking-agent