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

本地部署的配置

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

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

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值