Docker运行Nacos容器,过一会就报错`UnsatisfiedDependencyException`

news2024/10/7 12:18:32

Docker运行Nacos容器,过一会就报错UnsatisfiedDependencyException

  • 问题背景

    最近要上线一个项目,由于要使用Nacos作为服务注册中心,为了方便,我就打算直接使用Docker部署Nacos,没想到Nacos启动没一会就嗝屁了,然后使用 docker logs --tail 500 nacos查看日志发现如下错误:

    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memoryMonitor' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-2.2.3.jar!/com/alibaba/nacos/config/server/monitor/MemoryMonitor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure :
    errCode: 102, errMsg: dataSource or tableName is null 
    

    image-20230817140741716

  • 问题原因

    Nacos默认启动指令,默认使用的堆内存高达1G,由于我的服务器是免费送的,内存比较小,再加上我又下载了其它很多软件,这就导致我的服务器承受不住,已启动就直接挂了,

  • 问题解决

    通过执行该命令,会创建一个名为 “nacost” 的 Docker 容器,并在其中运行 Nacos 服务器。容器中的 Nacos 将以独立模式运行,使用 Derby 数据库作为数据源平台,并设置了一定的内存限制。同时,Nacos 控制台将通过主机的 8848 端口进行访问。

    docker run --name nacos \
    -e MODE=standalone \
    -e PREFER_HOST_MODE=hostname \
    -e SPRING_DATASOURCE_PLATFORM=derby \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -p 8848:8848 \
    -d nacos/nacos-server
    

    参数详解:

    • docker run:用于创建和运行一个新的 Docker 容器。
    • `–name nacos:为容器指定一个名称,这里是 “nacos”。
    • -e PREFER_HOST_MODE=hostname:设置环境变量 PREFER_HOST_MODE 的值为 “hostname”。这个环境变量用于配置 Nacos 在集群模式下的首选主机名解析方式,将其设置为 “hostname” 表示使用主机名进行解析。
    • -e SPRING_DATASOURCE_PLATFORM=derby:设置环境变量 SPRING_DATASOURCE_PLATFORM 的值为 “derby”。这个环境变量用于配置 Nacos 使用 Derby 数据库作为数据源平台。
    • -e MODE=standalone:设置环境变量 MODE 的值为 “standalone”。这个环境变量用于配置 Nacos 运行在独立模式下。
    • -e JVM_XMS=256m-e JVM_XMX=256m:分别设置环境变量 JVM_XMSJVM_XMX 的内存大小为 256MB。这些环境变量用于配置 Nacos 服务器的初始堆大小和最大堆大小。
    • -p 8848:8848:将容器内的端口 8848 映射到主机上的端口 8848,这样可以在主机上通过 http://localhost:8848 访问 Nacos 控制台。
    • -d:以后台(守护进程)模式运行容器。
    • nacos/nacos-server:指定要使用的 Nacos 服务器的 Docker 镜像。

然后访问http://服务器IP:8848/nacos/即可看到Nacos客户端页面了

image-20230817142837867

参考文章

  • Docker部署Nacos方案,Docker部署Nacos启动失败解决方案 - 掘金 (juejin.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/904183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三、Kafka生产者

目录 3.1 生产者消息发送流程3.1.1 发送原理 3.2 异步发送 API3.3 同步发送数据3.4 生产者分区3.4.1 kafka分区的好处3.4.2 生产者发送消息的分区策略3.4.3 自定义分区器 3.5 生产者如何提高吞吐量3.6 数据可靠性 3.1 生产者消息发送流程 3.1.1 发送原理 3.2 异步发送 API 3…

SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)2- 品目Code振替转记 和 在库转送

SAP 中在库移动 不仅有入库(GR),出库(GI),也可以是单纯内部的转记或转送。 1,振替转记(转移过账) 2,在库转送(库存转储) 1&#xff…

代码部署到服务器

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

阿里云无影云电脑/云桌面收费价格表_使用申请方法

阿里云无影云电脑配置具体收费价格表,4核8G企业办公型云电脑可以免费使用3个月,无影云电脑地域不同价格不同,无影云电脑费用是由云桌面配置、云盘、互联网访问带宽、AD Connector 、桌面组共用桌面session 等费用组成,阿里云百科分…

Linux驱动开发(Day5)

思维导图: 不同设备号文件绑定:

springboot sl4j2 写入日志到mysql

问题描述 springboot初始化的时候,会先初始化日志然后再加载数据源如果用配置文件进行初始化,那么会出现数据源没有加载成功,导致空指针异常 报错排查如下: 搜索报错信息,OBjects.invoke is Null打断点发现。dataso…

简历本-专业在线简历制作下载网站 自带智能简历诊断

简历本是一个高效的在线简历制作与管理工具,为求职者提供专业简历模板,使用简历本5分钟就能制作一份优秀简历,可随时随地将简历下载为Word、PDF、图片格式文件,可在线发送或投递,不过使用需要注册登陆,提供…

【NLP】1、BERT | 双向 transformer 预训练语言模型

文章目录 一、背景二、方法 论文:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 出处:Google 一、背景 在 BERT 之前的语言模型如 GPT 都是单向的模型,但 BERT 认为虽然单向(从左到右预测…

【机器学习实战】朴素贝叶斯:过滤垃圾邮件

【机器学习实战】朴素贝叶斯:过滤垃圾邮件 0.收集数据 这里采用的数据集是《机器学习实战》提供的邮件文件,该文件有ham 和 spam 两个文件夹,每个文件夹中各有25条邮件,分别代表着 正常邮件 和 垃圾邮件。 这里需要注意的是需要…

Brain:背内侧前额叶/背侧前扣带皮层(dmPFC/dACC)的相关争议

摘要 背内侧前额叶皮层/背侧前扣带皮层(dmPFC/dACC)是一个功能存在诸多理论和争议的脑区。甚至其精确的解剖边界也饱受争议。在过去的几十年里,dmPFC/dACC与15种以上的认知过程相关联,这些过程有时看起来完全无关(例如,身体感知、认知冲突)。…

c++优先级队列的模拟实现代码

了解: 1.优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。 2. 类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。 3. 优先队列被实现为…

开箱报告,Simulink Toolbox库模块使用指南(四)——S-Fuction模块

文章目录 前言 S-Fuction模块 电路方程模型 编写S函数 仿真验证 Tips 分析和应用 总结 前言 见《开箱报告,Simulink Toolbox库模块使用指南(一)——powergui模块》 见《开箱报告,Simulink Toolbox库模块使用指南&#xff…

三维重建 PyQt Python MRP 四视图(横断面,冠状面,矢状面,3D)

本文实现了 Python MPR 的 四视图,横断面,冠状面,矢状面,3D MPR(multi-planner reformation)也称多平面重建,多重面重建是将扫描范围内所有的轴位图像叠加起来再对某些标线标定的重组线所指定的组织进行冠状、矢状位、…

(win系统)MSVCP100/110/120/140.dll丢失 - 解决方案

首先我们来介绍一下什么是dll dll简称动态链接库它可以节省存储空间:由于DLL可以被多个程序共享,因此可以减少磁盘空间的使用。也能提高代码重用率:通过使用DLL,我们可以将一些常用的功能封装成独立的模块,从而提高代码的重用率。…

库克很高兴中国成全球最大的iPhone市场,人民日报的呼吁该重视了

日前苹果CEO库克在微博发文,庆祝苹果公司进入中国市场30周年,对员工、顾客和合作伙伴感谢,库克如此高兴的原因在于今年二季度iPhone在中国市场的销量超越美国市场,由此中国市场首次成为苹果的最大收入来源市场。 中国超越美国成为…

【C++_primary】类和对象 —— 类

类 ~ ~ ~ 一、面向过程和面向对象初步认识a. 面向过程编程b. 面向对象编程例如:无人机送货系统1、面向过程编程方式2、面向对象编程方式 二、类的引入1、定义类的关键字2、栈的手动实现a. C语言实现栈b. C实现栈 三、类的定义类的两种定义方式: 四、类的…

合宙Air724UG LuatOS-Air LVGL API--对象

对象 概念 在 LVGL 中,用户界面的基本构建块是对象。例如,按钮,标签,图像,列表,图表或文本区域。 属性 基本属性 所有对象类型都共享一些基本属性: Position (位置) Size (尺寸) Parent (父母…

ATTCK实战系列——红队实战(一)

目录 搭建环境问题 靶场环境 web 渗透 登录 phpmyadmin 应用 探测版本 写日志获得 webshell 写入哥斯拉 webshell 上线到 msf 内网信息收集 主机发现 流量转发 端口扫描 开启 socks 代理 服务探测 getshell 内网主机 浏览器配置 socks 代理 21 ftp 6002/700…

vue3 基础知识

vue3创建一个项目 PS D:\code> npm init vuelatestVue.js - The Progressive JavaScript Framework√ Add TypeScript? ... No / Yes √ Add JSX Support? ... No / Yes √ Add Vue Router for Single Page Application development? ... No / Yes √ Add Pinia for sta…

五、Spring MVC 接收请求参数以及数据回显、乱码问题

文章目录 一、Spring MVC 接收请求参数二、Spring MVC 数据回显三、SpringMVC 返回中文乱码问题 一、Spring MVC 接收请求参数 客户端或者前端通过 URL 请求传递过来的参数,在控制器中如何接收? 1、当参数和 Controller 中的方法参数一致时,无…