当前位置: 首页 > article >正文

docker 运行 芋道微服务

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-systemimage: yudao-gatewaycontainer_name: yudao-gatewayenvironment:- 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-agentrestart: alwaysnetwork_mode: host # 以主机网络环境运行yudao-system:build: context: ./yudao-systemimage: yudao-module-system-bizcontainer_name: yudao-systemenvironment:- 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-agenthealthcheck:test: [ "CMD","curl","-f","http://localhost:48081" ]interval: 30stimeout: 10sretries: 5start_period: 60srestart: alwaysnetwork_mode: hostyudao-infra:build: context: ./yudao-infraimage: yudao-module-infra-bizcontainer_name: yudao-infraenvironment:- 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-agentrestart: alwaysnetwork_mode: hosthealthcheck:test: [ "CMD","curl","-f","http://localhost:48082" ]interval: 30stimeout: 10sretries: 5start_period: 60sdepends_on:yudao-system:condition: service_healthyyudao-ai:build: context: ./yudao-aiimage: yudao-module-ai-bizcontainer_name: yudao-aienvironment:- 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-agentrestart: alwaysnetwork_mode: hostdepends_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 容器"
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 秒左右"

方式二:
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.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

意思是说 skywalking-agent.jar 没有找到需要安装
看了一眼安装教程有点繁琐,先去掉,后续有时间再进行安装
更改docker-compose.yml 文件中skywalking相关
每个服务配置下都有以下这三行,删除掉即可

在这里插入图片描述
删除完之后将nacos配置进行更改下
在这里插入图片描述
再次启动

docker compose -f docker-compose.yml up -d

发现redis连接报错一直连接127.0.0.1, ,可是我的配置文件中名称指定了地址

Caused by: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: localhost/127.0.0.1:6379at org.redisson.connection.ConnectionsHolder.lambda$createConnection$2(ConnectionsHolder.java:167) ~[redisson-3.41.0.jar!/:3.41.0]at java.base/java.util.concurrent.CompletableFuture.uniHandle(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source) ~[na:na]at org.redisson.connection.ConnectionsHolder.lambda$createConnection$5(ConnectionsHolder.java:181) ~[redisson-3.41.0.jar!/:3.41.0]at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source) ~[na:na]at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source) ~[na:na]at org.redisson.client.RedisClient$1$2.run(RedisClient.java:304) ~[redisson-3.41.0.jar!/:3.41.0]at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.116.Final.jar!/:4.1.116.Final]

排查发现 docker-compose.yml 文件中指定了环境 test

SPRING_PROFILES_ACTIVE=test

更改为

SPRING_PROFILES_ACTIVE=dev

在这里插入图片描述
处理完成之后我们再次启动

报错连接nacos异常,将nacos安装为2.4.2版本,然后开放 9848 、 8848 端口,再次尝试,连接成功

2025-02-17 14:23:17,490 ERROR Startup errors : org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcatat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:165)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:585)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409)at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289)at com.alibaba.nacos.Nacos.main(Nacos.java:46)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:568)at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcatat org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:481)at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:184)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162)... 16 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'basicAuthenticationFilter' defined in class path resource [com/alibaba/nacos/prometheus/filter/PrometheusAuthFilter.class]: Unsatisfied dependency expressed through method 'basicAuthenticationFilter' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'nacosAuthConfig' defined in URL [jar:file:/home/ai/nacos/target/nacos-server.jar!/BOOT-INF/lib/default-auth-plugin-2.4.2.jar!/com/alibaba/nacos/plugin/auth/impl/NacosAuthConfig.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tokenManagerDelegate': Unsatisfied dependency expressed through field 'jwtTokenManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenManager' defined in URL [jar:file:/home/ai/nacos/target/nacos-server.jar!/BOOT-INF/lib/default-auth-plugin-2.4.2.jar!/com/alibaba/nacos/plugin/auth/impl/token/impl/JwtTokenManager.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.plugin.auth.impl.token.impl.JwtTokenManager]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: the length of secret key must great than or equal 32 bytes; And the secret key  must be encoded by base64.Please see https://nacos.io/zh-cn/docs/v2/guide/user/auth.htmlat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:794)at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:532)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:214)at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:213)at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:204)at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:98)at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:262)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:236)at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4438)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:721)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:211)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:878)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)at org.apache.catalina.startup.Tomcat.start(Tomcat.java:438)at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)... 21 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'nacosAuthConfig' defined in URL [jar:file:/home/ai/nacos/target/nacos-server.jar!/BOOT-INF/lib/default-auth-plugin-2.4.2.jar!/com/alibaba/nacos/plugin/auth/impl/NacosAuthConfig.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tokenManagerDelegate': Unsatisfied dependency expressed through field 'jwtTokenManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenManager' defined in URL [jar:file:/home/ai/nacos/target/nacos-server.jar!/BOOT-INF/lib/default-auth-plugin-2.4.2.jar!/com/alibaba/nacos/plugin/auth/impl/token/impl/JwtTokenManager.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.plugin.auth.impl.token.impl.JwtTokenManager]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: the length of secret key must great than or equal 32 bytes; And the secret key  must be encoded by base64.Please see https://nacos.io/zh-cn/docs/v2/guide/user/auth.htmlat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:794)at org.springframework.beans.factory.su

本机idea启动AI服务报错 Error running 'AiServerApplication' Error running AiServerApplication. Command line is too long. Shorten the command line and rerun.
在这里插入图片描述
解决方案:找到.idea文件 --》workspace.xml --》<component name="PropertiesComponent"> 增加:"dynamic.classpath": "true"
在这里插入图片描述

在这里插入图片描述

在AI服务的配置文件中有两个文件需要下载下来放到可以访问的地方,避免后续访问不到后报错
在这里插入图片描述

          https://raw.gitcode.com/yudaocode/yudao-demo/raw/master/yudao-static/ai/model.onnxhttps://raw.gitcode.com/yudaocode/yudao-demo/raw/master/yudao-static/ai/tokenizer.json

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AI项目启动报错xxljob连接不上
在这里插入图片描述
下载xxl-job 项目:
https://gitee.com/xuxueli0323/xxl-job
打包发布至服务器,打包报错
在这里插入图片描述
解决方案: 移除pom.xml中gpg相关
在这里插入图片描述
打包报错maven-javadoc-plugin:3.11.2插件需要Maven版本至少为3.6.3,而当前使用的Maven版本低于此要求

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.11.2:jar (default) on project xxl-job: The plugin org.apache.maven.plugins:maven-javadoc-plugin:3.11.2 requires Maven version 3.6.3 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginIncompatibleException

安装maven apache-maven-3.8.4 版本
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"><localRepository>G:/repository</localRepository><pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><!--<url>http://maven.aliyun.com/nexus/content/groups/public</url> --><url>https://maven.aliyun.com/repository/public</url> </mirror><mirror><id>com.e-iceblue</id><url>http://repo.e-iceblue.cn/repository/maven-public/</url><mirrorOf>com.e-iceblue</mirrorOf><name>com.e-iceblue</name></mirror></mirrors><profiles><repositories><repository><id>com.e-iceblue</id><url>http://repo.e-iceblue.cn/repository/maven-public/</url></repository></repositories></profiles></settings>

打包报错 无效的目标发行版: 17
设置 idea
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新打包发布运行成功
在这里插入图片描述

相关文章:

docker 运行 芋道微服务

jar包打包命令 mvn clean install package -Dmaven.test.skiptrue创建文件夹 docker-ai 文件夹下放入需要jar包的文件夹及 docker-compose.yml 文件 docker-compose.yml 内容&#xff1a;我这里的是ai服务&#xff0c;所以将原先的文件内容做了变更&#xff0c;你们需要用到什…...

win10 系统 自定义Ollama安装路径 及模型下载位置

win10 系统 自定义Ollama安装路径 及模型下载位置 由于Ollama的exe安装软件双击安装的时候默认是在C盘&#xff0c;以及后续的模型数据下载也在C盘&#xff0c;导致会占用C盘空间&#xff0c;所以这里单独写了一个自定义安装Ollama安装目录的教程。 Ollama官网地址&#xff1…...

整合Salesmart/WhatsApp、开源Odoo模块和Deepseek AI能力,实现针对国外客户的智能客服和个性化推荐服务

一、项目背景 本文提出了一套针对软管制造公司的智能客服与个性化推荐系统实施方案&#xff0c;旨在通过整合开源Odoo模块、Salesmart/WhatsApp以及Deepseek AI能力&#xff0c;打造一个724小时不间断服务的智能化平台&#xff0c;专注于服务国外客户。方案围绕实现不间断服务…...

人工智能基础之数学基础:01高等数学基础

函数 极限 按照一定次数排列的一列数:“&#xff0c;“,…,"…&#xff0c;其中u 叫做通项。 对于数列{Un}如果当n无限增大时&#xff0c;其通项无限接近于一个常数A&#xff0c;则称该数列以A为极限或称数列收敛于A&#xff0c;否则称数列为发散&#xff0c; 极限值 左…...

sourcetree gitee 详细使用

SSH 公钥设置 | Gitee 帮助中心 先配置公钥&#xff0c;输入gitee密码完成验证 gitee仓库创建完成 打开sourcetree 如果你本地有项目&#xff08;vite &#xff09;需要 git init 在设置中完成远程仓库的添加 &#xff08;ssh ,https) 直接提交推送&#xff0c;完成后&#xf…...

应急响应(linux 篇,以centos 7为例)

一、基础命令 1.查看已经登录的用户w 2.查看所有用户最近一次登录&#xff1a;lastlog 3.查看历史上登录的用户还有登录失败的用户 历史上所有登录成功的记录 last /var/log/wtmp 历史上所有登录失败的记录 Lastb /var/log/btmp 4.SSH登录日志 查看所有日志&#xff1a;…...

【Scrapy】Scrapy教程5——第一个Scrapy项目

文章目录 Scrapy目录结构第一个爬虫运行爬虫必要说明start_requests()和start_urls如何关闭allowed_domains的限制通过前几节的学习,我们已经了解了Scrapy的基本操作,下面我们开始第一个项目,我以本人的 网址为例进行爬虫讲解,之所以用我自己的网站,是因为我这个网站本来…...

亲测有效!使用Ollama本地部署DeepSeekR1模型,指定目录安装并实现可视化聊天与接口调用

文章目录 一、引言二、准备工作&#xff08;Ollama 工具介绍与下载&#xff09;2.1 Ollama介绍2.2 Ollama安装 三、指定目录安装 DeepSeek R1四、Chatbox 可视化聊天搭建4.1 Chatbox下载安装4.2 关联 DeepSeek R1 与 Chatbox 的步骤 五、使用 Ollama 调用 DeepSeek 接口5.1 请求…...

网络基础 【UDP、TCP】

1.UDP 首先我们学习UDP和TCP协议 要从这三个问题入手 1.报头和有效载荷如何分离、有效载荷如何交付给上一层的协议&#xff1f;2.认识报头3.学习该协议周边的问题 UDP报头 UDP我们先从示意图来讲解&#xff0c;认识报头。 UDP协议首部有16位源端口号&#xff0c;16位目的端…...

SQL知识体系

SQL复习 MySQL SQL介绍 SQL SQL的全拼是什么&#xff1f; SQL全拼&#xff1a;Structured Query Language&#xff0c;也叫结构化查询语言。 SQL92和SQL99有什么区别呢&#xff1f; SQL92和SQL99分别代表了92年和99年颁布的SQL标准。 在 SQL92 中采用&#xff08;&#xff…...

深入浅出:CUDA是什么,如何利用它进行高效并行计算

在当今这个数据驱动的时代&#xff0c;计算能力的需求日益增加&#xff0c;特别是在深度学习、科学计算和图像处理等领域。为了满足这些需求&#xff0c;NVIDIA推出了CUDA&#xff08;Compute Unified Device Architecture&#xff09;&#xff0c;这是一种并行计算平台和编程模…...

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑩】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase10 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月18日 关键词&#xff1a;UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-010测试用例 用例ID测试场景验证要点参考条款预期结果TC…...

大语言模型入门

大语言模型入门 1 大语言模型步骤1.1 pre-training 预训练1.1.1 从网上爬数据1.1.2 tokenization1.1.2.1 tokenization using byte pair encoding 1.3 预训练1.3.1 context1.3.2 training1.3.3 输出 1.2 post-training1&#xff1a;SFT监督微调1.2.1 token 1.3 强化学习1.3.1 基…...

【网络安全】零基础入门网络安全劝退指北

作为从16年接触网络安全的小白&#xff0c;谈谈零基础如何入门网络安全&#xff0c;有不对的地方&#xff0c;请多多指教。 这些年最后悔的事情莫过于没有把自己学习的东西积累下来形成一个知识体系。 如何入门 简单了解网络安全 网络安全就是指的确保网络系统中的数据不被别…...

【Go | 从0实现简单分布式缓存】-2:HTTP服务端与一致性哈希

本文目录 一、回顾1.1 复习接口 二、http标准库三、实现HTTP服务端四、一致性哈希 本文为极客兔兔“动手写分布式缓存GeeCache”学习笔记。 一、回顾 昨天已经开发了一部分项目&#xff0c;我们先来看看项目结构。 分布式缓存需要实现节点间通信&#xff0c;建立基于 HTTP 的…...

分享一个使用的音频裁剪chrome扩展-Ringtone Maker

一、插件简介 铃声制作器是一个简单易用的 Chrome 扩展&#xff0c;专门用于制作手机铃声。它支持裁剪音频文件的特定片段&#xff0c;并将其下载为 WAV 格式&#xff0c;方便我们在手机上使用。无论是想从一段长音频中截取精彩部分作为铃声&#xff0c;还是对现有的音频进行个…...

知识拓展:设计模式之装饰器模式

装饰器模式拓展 1. 什么是装饰器模式&#xff1f; 装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。装饰器模式通过创建一个装饰类来包装原始类&#xff0c;从而在不修…...

服务器A到服务器B免密登录

#!/bin/bash # 变量定义 source_host"192.168.42.250" # 源主机 IP target_host"192.168.24.43" # 目标主机 IP target_user"nvidia" # 目标主机的用户名 ssh_port"6666" # SSH 端口号 # 生成 SSH…...

【kafka系列】At Most Once语义

目录 1. At-Most-Once语义的定义 2. Kafka实现At-Most-Once的机制 2.1 生产者端 2.2 消费者端 3. At-Most-Once示例 场景描述 3.1 生产者代码&#xff08;可能丢失消息&#xff09; 3.2 消费者代码&#xff08;可能丢失消息&#xff09; 4. 典型消息丢失场景分析 场景…...

ESP学习-1(MicroPython VSCode开发环境搭建)

下载ESP8266固件&#xff1a;https://micropython.org/download/ESP8266_GENERIC/win电脑&#xff1a;pip install esptools python.exe -m pip install --upgrade pip esptooo.py --port COM5 erase_flash //清除之前的固件 esptool --port COM5 --baud 115200 write_fla…...

CAS单点登录(第7版)10.多因素身份验证

如有疑问&#xff0c;请看视频&#xff1a;CAS单点登录&#xff08;第7版&#xff09; 多因素身份验证 概述 多因素身份验证 &#xff08;MFA&#xff09; 多因素身份验证&#xff08;Multifactor Authentication MFA&#xff09;是一种安全机制&#xff0c;要求用户提供两种…...

数据库提权总结

Mysql提权 UDF提权是利用MYSQL的自定义函数功能&#xff0c;将MYSQL账号转化为系统system权限 前提&#xff1a; 1.UDF提权条件 &#xff08;1&#xff09;Mysql版本大于5.1版本udf.dll文件必须放置于MYSQL安装目录下的lib\plugin文件夹下。 &#xff08;2&#xff09;Mysql…...

Docker__持续更新......

Docker 1. 基本知识1.1 为什么有Docker?1.2 Docker架构与容器化 画图解释 画图解释2. 项目实战 1. 基本知识 1.1 为什么有Docker? 用一行命令跨平台安装项目&#xff0c;在不同平台上运行项目。把项目打包分享运行应用。 1.2 Docker架构与容器化 准备机器&#xff0c;在机…...

28、深度学习-自学之路-NLP自然语言处理-做一个完形填空,让机器学习更多的内容程序展示

import sys,random,math from collections import Counter import numpy as npnp.random.seed(1) random.seed(1) f open(reviews.txt) raw_reviews f.readlines() f.close()tokens list(map(lambda x:(x.split(" ")),raw_reviews))#wordcnt Counter() 这行代码的…...

IDEA集成DeepSeek AI助手完整指南

在当今快速发展的软件开发领域,AI辅助编程工具正在成为开发者的重要助手。本文将详细介绍如何在IDEA中集成DeepSeek AI助手,帮助开发者提升编程效率。 一、环境准备 © ivwdcwso (ID: u012172506) 1.1 IDEA版本要求 在开始集成之前,需要确保你的IDEA版本满足要求: …...

04 redis数据类型

文章目录 redis数据类型string类型hash类型list类型set类型zset类型 &#xff08;sortedset&#xff09;通用命令 redis数据类型 官方命令&#xff1a;&#xff1a;http://www.redis.cn/commands.html Redis 中存储数据是通过 key-value 格式存储数据的&#xff0c;其中 val…...

【R语言】主成分分析与因子分析

一、主成分分析 主成分分析&#xff08;Principal Component Analysis, PCA&#xff09;是一种常用的无监督数据降维技术&#xff0c;广泛应用于统计学、数据科学和机器学习等领域。它通过正交化线性变换将&#xff08;高维&#xff09;原始数据投影到一个新的坐标系&#xff…...

网络安全试题

ciw网络安全试题 &#xff08;1&#xff09;&#xff08;单选题&#xff09;使网络服务器中充斥着大量要求回复的信息&#xff0c;消耗带宽&#xff0c;导致网络或系统停止正常服务&#xff0c;这属于什么攻击类型? A、拒绝服务 B、文件共享 C、BIND漏洞 D、远程过程调用 &a…...

教育小程序+AI出题:如何通过自然语言处理技术提升题目质量

随着教育科技的飞速发展&#xff0c;教育小程序已经成为学生与教师之间互动的重要平台之一。与此同时&#xff0c;人工智能&#xff08;AI&#xff09;和自然语言处理&#xff08;NLP&#xff09;技术的应用正在不断推动教育内容的智能化。特别是在AI出题系统中&#xff0c;如何…...

51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)

接上篇的数码管静态显示&#xff0c;以下是接上篇介绍到的动态显示的原理。 动态显示的特点是将所有位数码管的段选线并联在一起&#xff0c;由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选&#xff…...