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

news2024/9/22 17:27:57

文章目录

  • 本地部署的配置
    • 启用鉴权(未验证)
  • 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: MODE
              value: standalone
            - name: MYSQL_DATABASE_NUM
              value: '1'
            - name: MYSQL_SERVICE_HOST
              value: 192.25.16.28
            - name: MYSQL_SERVICE_DB_NAME
              value: nacos
            - name: MYSQL_SERVICE_USER
              value: nacos
            - name: MYSQL_SERVICE_PASSWORD
              value: Dg6nFDsDTX
            - name: SPRING_DATASOURCE_PLATFORM
              value: mysql
            - name: NACOS_AUTH_ENABLE
              value: 'true'
            - name: NACOS_AUTH_TOKEN
              value: >-
                IDVlYWJhMDZlNjMxNGFjYzY1ZmY3ODA5ZGJlNjYxOWQjY2I2OTc5MWIxMjI1ZjMwNjg=
            - name: NACOS_AUTH_TOKEN_EXPIRE_SECONDS
              value: '18000'
            - name: NACOS_AUTH_IDENTITY_KEY
              value: nacos
            - name: NACOS_AUTH_IDENTITY_VALUE
              value: 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

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

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

相关文章

[Linux#40][线程] 线程控制 | 多线程

内核中有没有很明确的线程概念呢?没有的。有的是轻量级进程的概念 不会给我直接提供线程的系统调用,只会给我们提供轻量级进程的系统调用,但是我们用户,需要线程的接口! 所以 Linux 开发者提供了 pthread 线程库--应用…

成为创作者的第1024天:成长与技术积累的旅程

前言 📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步! 🍅 个人主页:南木元元 今天是我成为创作者的第1024天。回顾这段时间,虽然日常的忙碌充斥着生活…

roles(角色)

创建目录,编写剧本下载nginx: 184 mkdir /etc/ansible/playbook 185 vim /etc/ansible/playbook/nginx.yml --- - hosts: groupremote_user: roottasks:- name: 卸载httpdyum: namehttpd stateabsent- name: 安装nginxyum: …

【MySQL 09】复合查询 (带思维导图)

文章目录 🌈 一、准备工作🌈 二、多表查询⭐ 1. 多表笛卡尔积⭐ 2. 多表查询示例 🌈 三、自连接🌈 四、子查询⭐ 1. 标量子查询⭐ 2. 多行子查询 (需要插入其他博客的链接)⭐ 3. 多列子查询 (需要插入其他博客的链接)⭐ 4. 在 fro…

小米SU7销量超特斯拉,新车明年上半年发布

小米 SU7,一款国内新能源车品牌纯血新势力旗下首款轿车,上市短短 4 个月卖出超 4 万台,月均销量过万。 该说不说,这放在整个新能源汽车工业史上也足以称得上是一件小刀喇拍屁股,让人开了眼的事儿。 就在本月初&#x…

大模型在企业数智化转型中可以做哪些事情?

在数字化浪潮的推动下,企业数智化转型已成为不可逆转的趋势。作为人工智能技术的集大成者,大模型以其强大的数据处理能力、深度学习能力及广泛的应用场景,正逐步成为企业数智化转型的核心驱动力。 大模型:智能时代的基石 大模型…

Error: ReferenceError: ReadableStream is not defined

midway项目在build完,docker启动时,莫名地报错Error: ReferenceError: ReadableStream is not defined,之前一直好好地,初时以为是新加的代码引起,后来排除了。 报错如下: 2024-08-20 11:57:51.446 ERROR …

【教学类-76-01】20240820书包01(图案最大化)

背景需求 通义万相生成图片,把图案最大化的方法(切掉白边) 【教学类-75-01】20240817“通义万相图片最大化透明png”的修图流程-CSDN博客文章浏览阅读1.6k次,点赞56次,收藏17次。【教学类-75-01】20240817“通义万相…

Aseembly(八)-汇编语言编写程序

前言 在该系列的第六篇文章我们主要讲述了:关于栈的寄存器:SS和SP的问题 来回一下: 对于栈指针来说,栈在被开辟的时候,首先要通过SS指针去找到开辟栈的地址空间的首地址,随后,SP指针指向该栈空间的末尾的下一个空间处.当执行push指令时,sp会-2 随后将目标压入栈中 当执行pop指…

volta引发的血案

什么是volta volta用于做项目级别的node版本控制,当手头上的项目有多个时,且node版本可能还不一样,我们需要不断切换node版本。使用volta可以很好的解决这个问题。只需要安装volta,然后在下面的package.json中配置好node版本即可…

鸿蒙HarmonOS实战开发: CMake脚本编写构建NDK工程

NDK工程构建 HarmonyOS NDK默认使用CMake作为构建系统,随包提供了符合HarmonyOS工具链的基础配置文件ohos.toolchain.cmake,用于预定义CMake变量来简化开发者配置。 常用的NDK工程构建方式有: 从源码构建 源码构建也有不同方式:…

机器学习在智能复合材料中的应用与实践

在人工智能与复合材料技术融合的背景下,复合材料的研究和应用正迅速发展,创新解决方 案层出不穷。从复合材料性能的精确预测到复杂材料结构的智能设计,从数据驱动的材料结构优 化到多尺度分析,人工智能技术正以其强大的数据处理能…

深度学习设计模式之策略模式

文章目录 前言一、介绍二、特点三、详细介绍1.核心组成2.代码示例3.优缺点优点缺点 4.使用场景 总结 前言 策略模式定义一系列算法,封装每个算法,并使它们可以互换。 一、介绍 策略模式(Strategy Pattern)是一种行为型设计模式&…

Linux:网络基础概念

网络发展 独立模式: 计算机之间相互独立; 网络互联: 多台计算机连接在一起, 完成数据共享; 局域网 LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 广域网 WAN: 将远隔千里的计算机都连在一起; 所谓 "局域网" 和 "广域网" 只是一个相对的概念. 比如…

【C++ 第十四章】红黑树

前言: 学习本章,需要先学习 AVL树的 旋转,因为 红黑树也需要旋转调整来平衡,下面讲解将不赘述 旋转的原理和操作 红黑树的旋转 和 AVL树的旋转 唯一不同的是:旋转的判断使用逻辑 AVL树的旋转 可以通过 平衡因子 判断…

关于c++ grpc 和 c# grpc 通信的问题 以及 grpc 认证问题

一、c 和 c# 通信 c# 端服务器 如果域名 输入的是 https ,则 c 端需要匹配使用,也就是c 端需要进行安全认证。如果是http 则c 端不需要认证(基于c#的grpc 未 通信成功) 参考如下网址可以写一个简单的 .net grpc服务器 &#xff08…

基于java的综合小区管理系统论文.doc

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统综合小区管理系统信息管理难度大,容错率低&am…

diamond安装与使用

1.前言 diamond是一款用于蛋白质和翻译后DNA搜索的序列比对工具,专为大规模序列数据的高性能分析设计。其主要特点包括: - 与BLAST相比,蛋白质和翻译后DNA的成对比对速度快100倍至10000倍。 2. 参考 https://github.com/bbuchfink/diamond …

微知-lspci如何查看pcie设备树状结构(-t)

对于查看pcie设备列表除了看是否存在 还需要看拓扑结构。如何看? lspci -t以减号为分割说明 第一列数字是域段 和 bus id。比如0000:00中0000是域 00是busid 第二列 01.2中01是device id。2是functionid 如果还有下游设备device还有一个指定busid的序号

[数据集][目标检测]夜间老鼠检测数据集VOC+YOLO格式316张1类别+视频文件1个

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):316 标注数量(xml文件个数):316 标注数量(txt文件个数):316 标注类别…