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

Docker 部署 Nacos(单机),利用 MySQL 数据库存储配置信息

前面的话

默认你已经懂 Docker、docker-compose
Nacos版本:v2.2.3
MySQL 版本:8.2.0

一、下载

  1. 打开 Nacos 官网

官网地址:官网

在这里插入图片描述

  1. 点击手册

  2. 左侧 Nacos Docker
    在这里插入图片描述

  3. 克隆项目到本地

# 克隆项目,如果提示连接不到 github 请自行解决
git clone https://github.com/nacos-group/nacos-docker.git# 进入项目目录
cd nacos-docker

在这里插入图片描述

  1. 可以看到项目已经下载到本地

在这里插入图片描述

  1. 使用 IDE打开项目,方便编辑(这里我使用 IDEA 打开)

在这里插入图片描述

二、创建数据库(以 MySQL8 为例)

因为我本地已经有数据库了,不打算使用 nacos-docker项目帮我用 Docker 创建数据库,所以我需要修改一下它的 docker-compose.yaml文件,也需要手动在我本地创建存储 nacos 数据的数据库。
在这里插入图片描述

  1. 找到官方的 MySQL 表结构文件(直接看图)
    在这里插入图片描述

  2. 手动创建数据库(我使用 Navicat16 操作)

排序规则我不选,让它默认就好了

在这里插入图片描述

  1. 执行官方给的 sql 文件

在这里插入图片描述

  1. 放入到 Navicat 中执行
    在这里插入图片描述

  2. 可以看到创建好的数据表
    在这里插入图片描述

三、修改项目配置

本人本地配置,所以只配置单机模式,集群模式请自行配置多个并修改相关的模式

  1. 修改 example/standalone-mysql-8.yaml 文件

去掉 MySQL 部分的配置,因为我们不需要docker再帮我部署 MySQL 数据库了

在这里插入图片描述

代码,可直接拷贝

version: "3.8"
services:nacos:image: nacos/nacos-server:${NACOS_VERSION}container_name: nacos-standalone-mysql # 这里写你想要的容器名称env_file:- ../env/nacos-standlone-mysql.envvolumes:- ./standalone-logs/:/home/nacos/logs # 这里看你需求修改成你自己的目录映射,这里我演示,不改ports:- "8848:8848"- "9848:9848"restart: alwaysnetwork_mode: host # 加上这一行,使用 host 模式,这样子容器内部直接访问 localhost 就是宿主机本身,方便一些,反正端口不冲突
  1. 修改 env/nacos-standlone-mysql.env 文件

在这里插入图片描述

代码:


PREFER_HOST_MODE=hostname
MODE=standalone # 单机模式
SPRING_DATASOURCE_PLATFORM=mysql # 使用 MySQL 作为存储
MYSQL_SERVICE_HOST=127.0.0.1 # 本机的话直接使用这个或者 localhost,刚刚设置的 host 网络模式可以直接访问到宿主机
MYSQL_SERVICE_DB_NAME=nacos_config # 存储 Nacos 配置信息的数据库名称
MYSQL_SERVICE_PORT=3306 # 数据库访问端口
MYSQL_SERVICE_USER=root # 访问你数据库的用户,默认用 root 即可,你设置有别的用户也可以
MYSQL_SERVICE_PASSWORD=root # root 密码
# 下面这行可以跟着我写,保险起见,加上时区,官方给的只有 UTC 时区在 .properties 中
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
  1. 修改 mysql.env 文件

在这里插入图片描述

代码:

MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=nacos_config
MYSQL_USER=root
MYSQL_PASSWORD=root
LANG=C.UTF-8
  1. 修改 example/init.d/application.properties

我没仔细看这个文件是否有被加载(直觉是没加载这个文件的,使用的是build/conf/application.properties 这个文件的配置),保险起见还是修改一下

在这里插入图片描述

修改后:

在这里插入图片描述

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
db.user.0=root
db.password.0=root
  1. 以上修改之后就完成了

四、构建镜像&运行容器

以下是在项目根目录下执行命令

在这里插入图片描述

# 执行以下命令,会以standalone-mysql-8.yaml中定义的容器信息进行创建并运行容器
docker-compose -f example/standalone-mysql-8.yaml up # 为了方便看控制台,我们用这个演示
# 或者
docker-compose -f example/standalone-mysql-8.yaml up -d # 后台启动

执行命令后,容器部署成功:

在这里插入图片描述

浏览器访问地址:http://localhost:8848/nacos

或直接点击跳转地址

在这里插入图片描述
我们再新建一个命名空间测试

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

查看数据库:

在这里插入图片描述

五、完成

至此,我们就完成了使用 Docker 部署 Nacos 容器。如果帮助到你们别忘了点赞哦~

相关文章:

Docker 部署 Nacos(单机),利用 MySQL 数据库存储配置信息

前面的话 默认你已经懂 Docker、docker-compose Nacos版本:v2.2.3 MySQL 版本:8.2.0 一、下载 打开 Nacos 官网 官网地址:官网 点击手册 左侧 Nacos Docker 克隆项目到本地 # 克隆项目,如果提示连接不到 github 请自行解决 …...

【LeeCode】35.搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 解: class Solution {public int searchInsert(int[] nums, int target) {int …...

18.天气小案例

1►新增带Layout组件的页面 直接在views文件夹下面新增weather.vue。然后随便写一个123,现在先让我们页面能跳过去先。 让页面能跳过去,有好几种方法: 1、在菜单管理自己添加一个菜单,然后把菜单分配给某个角色,再把…...

医保线上购药系统:代码驱动的医疗创新

医保线上购药系统,这是一个融合技术和医疗的创新典范。本文将通过简单的技术代码示例,为您揭示这一系统是如何通过技术驱动医疗创新,为用户提供更智能、便捷的健康管理体验的。 1. 前端界面开发 使用React框架,我们可以轻松构建…...

VMware OpenSLP漏洞解决方案

PS:早期为客户做VMware检测的方法,大家如有遇到可参考 OpenSLP堆溢出漏洞攻击大量ESXI服务器,该漏洞编号为CVE-2021-21974,由 OpenSLP 服务中的堆溢出问题引起 大于以下版本则不受影响 ESXi versions 7.x prior to ESXi7…...

UEditor编辑器实现上传图片自动加水印功能PHP源码

UEditor编辑器是百度旗下的免费开源富文本编辑器,使用很方便,但是也有缺点,比如,上传图片不能自动添加水印,下边我们就来说说如何在UEditor编辑器中自动实现上传图片添加水印功能,操作很简单。 首先找到UEditor/PHP目录下的Uploader.class.php的文件,打开该文件,找到以…...

【从浅识到熟知Linux】基本指定之find、grep、head和tail

🎈归属专栏:从浅学到熟知Linux 🚗个人主页:Jammingpro 🐟每日一句:一篇又一篇,学写越上头。 文章前言:本文介绍find、grep、head和tail指令用法并给出示例和截图。 文章目录 find基本…...

【云备份】文件操作实用工具类设计

文章目录 为什么要单独设计文件工具类?整体实现Filesize ——文件大小stat接口 LastMTime ——最后一次修改时间LastATime —— 最后一次访问时间FileName —— 文件名称GetPostLen ——获取文件指定位置 指定长度的数据GetContnet —— 读取文件数据SetContent ——…...

LeetCode Hot100 199.二叉树的右视图

题目: 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 方法(灵神):先递归右子树,再递归左子树,在递归的同…...

Nacos身份绕过漏洞复现(QVD-2023-6271)

Nacos身份绕过漏洞复现(QVD-2023-6271) 环境配置 该漏洞主要用了win10_JAVA的环境,参考网上已有的复现文章,使用jdk-11.0.2_windows-x64_bin.exe 由于2.2.0之后的nacos已将本漏洞修复,所以本次复现使用2.2.0的包 下…...

Elasticsearch集群部署 head监控插件 Kibana部署 Nginx反向代理 Logstash部署

一、组件介绍1、Elasticsearch:2 、Logstash3、Kibana4、Kafka:5、Filebeat: 二、 Elasticsearch集群部署服务器创建用户安装ES修改配置文件创建数据和日志目录设置JVM堆大小 #7.0默认为4G修改安装目录及存储目录权限系统优化(1)增…...

网络和Linux网络_5(应用层)HTTP协议(方法+报头+状态码)

目录 1. HTTP协议介绍 1.1 URL介绍 1.2 urlencode和urldecode 1.3 HTTP协议格式 1.4 HTTP的方法和报头和状态码 2. 代码验证HTTP协议格式 HttpServer.hpp 2.2 html正式测试 Util.hpp index.html 2.3 再看HTTP方法和报头和状态码 2.3.1 方法_GET和POST等 2.3.2 报头…...

人工智能-注意力机制之残差连接和层规范化

残差连接和层规范化 层规范化和批量规范化的目标相同,但层规范化是基于特征维度进行规范化。尽管批量规范化在计算机视觉中被广泛应用,但在自然语言处理任务中(输入通常是变长序列)批量规范化通常不如层规范化的效果好。 以下代…...

linux centos安装nvm

安装目录 mkdir /opt/nvm && cd /opt/nvm安装包下载 wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.5.tar.gz注意:https://github.com/nvm-sh/nvm/tags获取新版本或所需版本下载链接并替换 安装包解压 for file in *.tar.gz; do tar -zxv…...

Spring(2):Spring事务管理机制

Spring事务管理高层抽象主要包括3个接口,Spring的事务主要是由他们共同完成的: PlatformTransactionManager:事务管理器—主要用于平台相关事务的管理。TransactionDefinition: 事务定义信息(隔离、传播、超时、只读)—通过配置如…...

STK Components 二次开发-创建卫星

1.卫星数据 可以用stk 里面自带的 参数帮助文档。 也可以自己下载 CelesTrak: Current GP Element Sets 这里你所需要的最新卫星数据全有。 其实创建需要的就是卫星的二根数。 给定二根数也可以。 读取数据库中的卫星数据 这个接口优先下载最新的。 var tleList TwoL…...

【深度学习】因果推断与机器学习的高级实践 | 数学建模

文章目录 因果推断因果推断的前世今生(1)潜在结果框架(Potential Outcome Framework)(2)结构因果模型(Structual Causal Model,SCM) 身处人工智能爆发式增长时代的机器学…...

【华为OD】B\C卷真题 100%通过:字符串统计 C/C++实现

目录 题目描述: 示例1 代码实现: 【华为OD】B\C卷真题 100%通过:字符串统计 C/C实现 题目描述: 给定两个字符集合,一个为全量字符集,一个为已占用字符集。已占用的字符集中的字符不能再使用,要求输出剩…...

SparkSession介绍

一、 介绍 SparkSession是Spark 2.0中引入的新概念,它是Spark SQL、DataFrame和Dataset API的入口点,是Spark编程的统一API,也可看作是读取数据的统一入口;它将以前的SparkContext、SQLContext和HiveContext组合在一起&#xff0…...

Error PostCSS plugin autoprefixer requires PostCSS 8

文章目录 一、情况一二、情况二三、总结 在启动 vue项目时,突然控制台报错: Error: PostCSS plugin autoprefixer requires PostCSS 8。然后依次出现下面几种情况,依次解决完,项目就可以正常启动了 一、情况一 error in ./src/…...

训练-推理全链路能耗暴增预警,深度解析视觉-语言-音频三模态对齐中的冗余计算黑洞(附热力图诊断模板)

第一章:训练-推理全链路能耗暴增预警机制构建 2026奇点智能技术大会(https://ml-summit.org) 现代大模型全生命周期中,训练与推理阶段的能耗已突破传统监控阈值。单次千亿参数模型训练峰值功耗可达12MW,而在线推理集群在流量洪峰期的PUE波动…...

智能项目管理系统:数字化转型的核心驱动力

1. 智能项目管理系统:企业数字化转型的神经中枢 记得三年前我参与过一个制造业客户的数字化转型项目,当时他们还在用Excel表格跟踪上百个工序节点。每周五下午,项目经理要花3小时手动合并12个部门的进度表,经常出现版本错乱。引入…...

告别复杂多任务学习:深度解读Depth Anything V3如何用‘一个Transformer+一个目标’统一3D重建

深度估计新范式:Depth Anything V3如何用极简架构重塑3D视觉 当计算机视觉领域还在为多视图几何的复杂性绞尽脑汁时,Depth Anything V3(DA3)的出现像一股清流,用"一个Transformer一个目标"的极简设计&#…...

乐高与众球星共同庆祝足球的魅力

乐高集团携手克里斯蒂亚诺罗纳尔多、基利安姆巴佩、莱昂内尔梅西和维尼修斯儒尼奥尔等足球明星,与世界各地的孩子和家庭一同庆祝足球的魅力——因为每个人都想参与其中!随着 2026 年国际足联世界杯日益临近,足球热潮空前高涨,球迷…...

SITS2026多模态API架构深度拆解(附OpenAPI 3.1规范兼容清单+Token流控阈值表)

第一章:SITS2026发布:多模态大模型API设计 2026奇点智能技术大会(https://ml-summit.org) 设计理念与能力边界 SITS2026 API 采用统一资源抽象(URA)范式,将文本、图像、音频、视频及结构化时序信号封装为可互操作的“…...

如何用 Shared Worker 实现跨浏览器标签页的全局状态共享

Shared Worker 可实现同源多标签页共享后台线程与状态,需单独部署脚本、手动维护 state 并通过 MessagePort 通信,不支持 DOM 但可调用 fetch/IndexedDB,须 HTTPS、注意 Safari 兼容性及持久化补充。Shared Worker 可以让多个浏览器标签页、i…...

CSS如何根据多语言标记修改字体_使用[lang=‘zh-CN’]属性选择器

[langzh-CN] 本身不改变字体,必须配合 font-family 声明且指定中文字体;需确保元素含正确 lang 属性、字体列表含中文字体并前置、避免单一字体依赖,优先用属性选择器而非 :lang()。用 [langzh-CN] 选中中文内容时,为什么字体没变…...

Debian 12 上配置 containerd 的优化实践与生产环境调优

1. 为什么选择 containerd 作为容器运行时? 在容器化技术领域,containerd 已经成为事实上的行业标准运行时。相比完整的 Docker 引擎,containerd 去掉了非必要的组件,只保留核心的容器生命周期管理功能。这种精简设计带来的直接好…...

从‘软’到‘硬’:手把手解析铜凸点如何解决焊料凸点的塌陷与短路难题

从‘软’到‘硬’:铜凸点技术如何根治焊料塌陷与短路的行业顽疾 在微电子封装领域,凸点技术的可靠性直接决定着芯片与基板连接的成败。当产线良率报告上频繁出现"短路失效"的红色标记时,经验丰富的工艺工程师会立即将目光投向回流焊…...

如何用5分钟学会大麦抢票自动化工具,告别黄牛高价票

如何用5分钟学会大麦抢票自动化工具,告别黄牛高价票 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为抢不到心仪的演唱会门票而烦恼吗?大麦抢票脚本DamaiHelper是你的…...