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

nacos 使用 docker 单机部署连接 MySQL 数据库并开启鉴权

文章目录

  • 本地部署的配置
    • 启用鉴权(未验证)
  • docker部署的配置
    • 修改docker 镜像源
    • 启用鉴权,必须添加如下环境变量
      • 如何生成鉴权的密钥
    • 完整环境变量
    • docker启动命令

本地部署的配置

文件结构
在这里插入图片描述

application.properties          #配置文件
mysql-schema.sql                #初始化 sql

设置数据库连接,注意,数据库的密码不要有意义#\@等这些特殊符号,否则 nacos 可能无法识别,需要使用反斜杠进行转义,不建议使用这些特殊符号来当做 MySQL 密码,建议使用没有意义的特殊符号例如:-+_等。

vim application.properties,取消这些参数的注释

spring.datasource.platform=mysql
# spring.sql.init.platform=mysql### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:mysql://192.25.16.28:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos

启动

# linux
startup.sh -m standalone# windows
startup.cmd -m standalone

启用鉴权(未验证)

在这里插入图片描述

开启鉴权之后,才会有权限控制和用户列表

application.properties中的配置信息为
vim application.properties

### If turn on auth system:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true### 配置自定义身份识别的key(不可为空)和value(不可为空),都可以随机填写
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example

docker部署的配置

修改docker 镜像源

vim /etc/docker/daemon.json

{"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}
# 载入配置文件
systemctl daemon-reload# 下载 nacos 镜像
docker pull nacos/nacos-server:v2.3.1

如果要 MySQL 连接需要配置nacos 的环境变量,启动必须设置的配置有

变量备注
MODEstandalone单节点部署
MYSQL_DATABASE_NUM1必须设置为1
MYSQL_SERVICE_HOST192.25.16.28数据库地址
MYSQL_SERVICE_DB_NAMEnacos数据库名称
MYSQL_SERVICE_USERnacos数据库用户名称
MYSQL_SERVICE_PASSWORDpassword数据库密码
SPRING_DATASOURCE_PLATFORMmysql使用 mysql 存储数据

设置数据库连接,注意,数据库的密码不要有意义#\@等这些特殊符号,否则 nacos 可能无法识别,需要使用反斜杠进行转义,不建议使用这些特殊符号来当做 MySQL 密码,建议使用没有意义的特殊符号例如:-+_等。


启用鉴权,必须添加如下环境变量

变量备注
NACOS_AUTH_ENABLEtrue启动鉴权
NACOS_AUTH_TOKENIDVlYWJOTc5MWIxMjI1ZjMwNjg=鉴权的密钥
NACOS_AUTH_TOKEN_EXPIRE_SECONDS18000
NACOS_AUTH_IDENTITY_KEYnacos鉴权的 key,可以自定义
NACOS_AUTH_IDENTITY_VALUEsfinLidf2j1HLIf鉴权的值,可以自定义

如何生成鉴权的密钥

# 生成32位的密钥
openssl rand -hex 32
86eaa393eaf6d90133db2345c040ef42dfb167b3086df48447c3e9dc965ac69e

转换编码为 base64
在线编码https://www.bing.com/search?q=base64
在这里插入图片描述

ODZlYWEzOTNlYWY2ZDkwMTMzZGIyMzQ1YzA0MGVmNDJkZmIxNjdiMzA4NmRmNDg0NDdjM2U5ZGM5NjVhYzY5ZQ==

完整环境变量

    spec:containers:- env:- name: MODEvalue: standalone- name: MYSQL_DATABASE_NUMvalue: '1'- name: MYSQL_SERVICE_HOSTvalue: 192.25.16.28- name: MYSQL_SERVICE_DB_NAMEvalue: nacos- name: MYSQL_SERVICE_USERvalue: nacos- name: MYSQL_SERVICE_PASSWORDvalue: Dg6nFDsDTX- name: SPRING_DATASOURCE_PLATFORMvalue: mysql- name: NACOS_AUTH_ENABLEvalue: 'true'- name: NACOS_AUTH_TOKENvalue: >-IDVlYWJhMDZlNjMxNGFjYzY1ZmY3ODA5ZGJlNjYxOWQjY2I2OTc5MWIxMjI1ZjMwNjg=- name: NACOS_AUTH_TOKEN_EXPIRE_SECONDSvalue: '18000'- name: NACOS_AUTH_IDENTITY_KEYvalue: nacos- name: NACOS_AUTH_IDENTITY_VALUEvalue: sfinLidf2j1HLIf

docker启动命令

# 带配置信息的启动
docker run -d \
--name nacos \
-p 8848:8848 \
-e MODE=standalone \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=192.25.16.28 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=nacos \
-e MYSQL_SERVICE_PASSWORD=Dg6nFDsDTX \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_TOKEN=IDVlYWJhMDZlNjMxNGFjYzY1ZmY3ODA5ZGJlNjYxOWQjY2I2OTc5MWIxMjI1ZjMwNjg= \
-e NACOS_AUTH_TOKEN_EXPIRE_SECONDS=18000 \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=sfinLidf2j1HLIf \
--restart=always \
nacos/nacos-server:v2.3.1

相关文章:

nacos 使用 docker 单机部署连接 MySQL 数据库并开启鉴权

文章目录 本地部署的配置启用鉴权(未验证) docker部署的配置修改docker 镜像源启用鉴权,必须添加如下环境变量如何生成鉴权的密钥 完整环境变量docker启动命令 本地部署的配置 文件结构 application.properties #配置文件 mysql-schema.sql …...

Opencv-C++笔记 (20) : 距离变换与分水岭的图像分割

文章目录 一、图片分割分水岭算法理解分水岭算法过程 二、距离变换与分水岭距离变换常见算法有两种分水岭变换常见的算法步骤 主要函数c代码四、结果展示 一、图片分割 图像分割(Image Segmentation)是图像处理最重要的处理手段之一 图像分割的目标是将图像中像素根据一定的规则…...

【流媒体】RTMPDump—Download(接收流媒体信息)

目录 RTMP协议相关: 【流媒体】RTMP协议概述 【流媒体】RTMP协议的数据格式 【流媒体】RTMP协议的消息类型 【流媒体】RTMPDump—主流程简单分析 【流媒体】RTMPDump—RTMP_Connect函数(握手、网络连接) 【流媒体】RTMPDump—RTMP_ConnectStr…...

Pytorch cat()与stack()函数详解

torch.cat() cat为concatenate的缩写,意思为拼接,torch.cat()函数一般是用于张量拼接使用的 cat(tensors: Union[Tuple[Tensor, ...], List[Tensor]], dim: _int 0, *, out: Optional[Tensor] None) -> Tensor: 可以看到cat()函数的参数&#xf…...

A. X(质因数分解+并查集)

题意:给定一个序列,求的方案数,其中,,i和j属于两个不同集合内。 解法:考虑怎样必须将某几个数放进一个集合里。如果数列中全是1,那么每个数都是独立的,也就是可以随便拿出这之中的数…...

自动化测试中如何应对网页弹窗的挑战!

在自动化测试中,网页弹窗的出现常常成为测试流程中的一个难点。无论是警告框、确认框、提示框,还是更复杂的模态对话框,都可能中断测试脚本的正常执行,导致测试结果的不确定性。本文将探讨几种有效的方法来应对网页弹窗的挑战&…...

Redission

一、Redis常见客户端 Jedis:简单,和命令最相似, API最丰富,多线程,不安全 SpringDataRedis: RedisTemplate,默认线程安全,底层基于Netty(异步支持),用于一…...

负载均衡详解

概述 负载均衡建立在现有的网络结构之上,提供了廉价、有效、透明的方式来扩展网络设备和服务器的带宽,增加了吞吐量,加强了网络数据的处理能力,提高了网络的灵活性和可用性。项目中常用的负载均衡有四层负载均衡和七层负载均衡。…...

Swift与UIKit:构建卓越用户界面的艺术

标题:Swift与UIKit:构建卓越用户界面的艺术 在iOS应用开发的世界中,UIKit是构建用户界面的基石。自从Swift语言问世以来,它与UIKit的结合就为开发者提供了一个强大而直观的工具集,用于创建直观、响应迅速的应用程序。…...

Spring 中ClassPathXmlApplicationContext

ClassPathXmlApplicationContext 是 Spring Framework 的一个重要类,位于 org.springframework.context.support 包中。它是 ApplicationContext 接口的实现,专门用于从类路径下加载 XML 配置文件。通过这个类,你可以在 Spring 应用程序中设置…...

Springboot邮件发送:如何配置SMTP服务器?

Springboot邮件发送集成方法?如何提升邮件发送性能? 对于使用Springboot的开发者来说,配置SMTP服务器来实现邮件发送并不是一件复杂的事情。AokSend将详细介绍如何通过配置SMTP服务器来实现Springboot邮件发送。 Springboot邮件发送&#x…...

二叉树--堆

二叉树-堆 一、堆的概念及结构1.1 堆的概念与结构1.2 堆的性质 二、堆的实现三、堆的应用1、堆排序 一、堆的概念及结构 1.1 堆的概念与结构 堆就是完全二叉树以顺序存储方式存储于一个数组中。 然后每一个根都大于它的左孩子和右孩子的堆,我们叫做大堆&#xff…...

【K8s】专题十二(2):Kubernetes 存储之 PersistentVolume

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 Linux 专栏 | Docker 专栏 | Kubernetes 专栏 往期精彩文章 【Docker】(全网首发)Kyl…...

python3多个图片合成一个pdf文件,生产使用验证过

简单的示例代码,展示如何将多个图片合成为一个 PDF 文件。 步骤 1: 安装依赖库 首先,确保你已经安装了 Pillow 和 reportlab 库: pip install Pillow reportlab步骤 2: 编写代码 下面是一个 Python 脚本,它将指定目录中的所有图片文件合成一个 PDF 文件: from PIL im…...

Stable Diffusion赋能“黑神话”——助力悟空走进AI奇幻世界

《黑神话:悟空》是由游戏科学公司制作的以中国神话为背景的动作角色扮演游戏,将于2024年8月20日发售。玩家将扮演一位“天命人”,为了探寻昔日传说的真相,踏上一条充满危险与惊奇的西游之路。 同时,我们还可以借助AI绘…...

微信小程序登陆

一 问题引入 我们之前的登陆都是:网页http传来请求,我们java来做这个请求的校验。 但是如果微信小程序登陆,就要用到相关的api来实现。 二 快速入门 1 引入依赖 官方依赖,在里面找合适的,去设置版本号。由于我这…...

SQL - 存储过程

假设你在开发一个应用,应用有一个数据库,你要在哪里写SQL语句?你不会在你的应用代码里写语句,它会让你的应用代码很混乱且难以维护。具体在哪里呢?在存储过程中或函数中。存储过程是一组为了完成特定功能的SQL语句集合…...

RabbitMQ环境搭建

2.5.RabbitMQ 安装 a.docker方式安装: 1.在我的docker学习笔记中具有详细的安装过程 b.rpm包方式安装: 1.MQ下载地址2.这里是提前下载好后上传安装包到服务器得opt目录下: 3.安装MQ需要先有Erlang语言环境,安装文件的Linux命令…...

多视点抓取(Multi-View Grasping)

目录 前言 一、在机器人抓取检测领域里,多视点抓取是什么意思 二、以GG-CNN为例,GG-CNN是怎么结合多个视点进行抓取预测的 前言 多视点抓取(Multi-View Grasping)是机器人抓取和检测领域的一个重要概念,它涉及到机器…...

【人工智能】对智元机器人发布的远征A1所应用的AI前沿技术进行详细分析,基于此整理一份学习教程。

智元机器人在其新品发布中应用了多项AI前沿技术。我们可以从以下几个方面来分析和整理这些技术,并基于此整理一份学习教程: 一、智元机器人应用的关键AI技术 自然语言处理 (NLP) 语音识别: 利用先进的语音识别技术,如OpenAI的Whisper&#x…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...