当前位置: 首页 > 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
http://www.lryc.cn/news/428678.html

相关文章:

  • Opencv-C++笔记 (20) : 距离变换与分水岭的图像分割
  • 【流媒体】RTMPDump—Download(接收流媒体信息)
  • Pytorch cat()与stack()函数详解
  • A. X(质因数分解+并查集)
  • 自动化测试中如何应对网页弹窗的挑战!
  • Redission
  • 负载均衡详解
  • Swift与UIKit:构建卓越用户界面的艺术
  • Spring 中ClassPathXmlApplicationContext
  • Springboot邮件发送:如何配置SMTP服务器?
  • 二叉树--堆
  • 【K8s】专题十二(2):Kubernetes 存储之 PersistentVolume
  • python3多个图片合成一个pdf文件,生产使用验证过
  • Stable Diffusion赋能“黑神话”——助力悟空走进AI奇幻世界
  • 微信小程序登陆
  • SQL - 存储过程
  • RabbitMQ环境搭建
  • 多视点抓取(Multi-View Grasping)
  • 【人工智能】对智元机器人发布的远征A1所应用的AI前沿技术进行详细分析,基于此整理一份学习教程。
  • 影刀RPA--如何获取网页当页数据?
  • Bean对象生命周期流程图
  • 24/8/17算法笔记 策略梯度reinforce算法
  • 【Linux学习】Linux开发工具——vim
  • 【2025校招】4399 NLP算法工程师笔试题
  • 数据库原理--关系1
  • 【人工智能】AI工程化是将人工智能技术转化为实际应用、创造实际价值的关键步骤
  • 《C语言实现各种排序算法》
  • 【888题竞赛篇】第五题,2023ICPC澳门-传送(Teleportation)
  • javascript写一个页码器-SAAS本地化及未来之窗行业应用跨平台架构
  • 微信小程序如何自定义一个组件