docker快速部署nacos

jupiter
2024-05-10 / 0 评论 / 77 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年05月10日,已超过224天没有更新,若内容或图片失效,请留言反馈。

注意

  • Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。
  • Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。
  • 如果运行在不可信的网络环境或者有强鉴权诉求,请参考官方简单实现做进行自定义插件开发

1.单机模式 Derby

  • Docker 拉取镜像
docker pull nacos/nacos-server
  • 启动nacos
# 不开启鉴权
docker run -d \
--name nacos \
-p 8848:8848  -p 9848:9848 \
-e MODE=standalone \
nacos/nacos-server

2.单机模式mysql+宿主机配置文件映射启动

  • Docker 拉取镜像
docker pull nacos/nacos-server
  • mysql中创建nacos所需的表

    • mysql中新建一个库,名字可自定义,这里就用nacos
    • github中找到创建表的文件,在nacos-config库中执行,创建所需的表
  • 创建配置文件的保存目录
mkdir -p /data/nacos/logs/                      #新建logs目录
mkdir -p /data/nacos/conf/                        #新建conf目录
  • 将nacos里面的文件拷贝出到挂载目录中
# 启动容器
docker run -p 8848:8848 --name nacos -d nacos/nacos-server
# 复制文件
docker cp nacos:/home/nacos/logs/ /data/nacos/
docker cp nacos:/home/nacos/conf/ /data/nacos/
# 删除并关闭容器
docker rm -f nacos
  • 再次启动nacos
docker run -d \
--name nacos \
-p 8848:8848  -p 9848:9848 -p 9849:9849 \
--privileged=true \
-e MODE=standalone \
-v /data/nacos/logs/:/home/nacos/logs/ \
-v /data/nacos/conf/:/home/nacos/conf/ \
nacos/nacos-server
  • 修改配置文件-application.properties
# 在宿主机中修改application.properties文件
vim /data/nacos/conf/application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.124.10:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos

3.开启登录验证

  • 修改配置文件-application.properties
# 在宿主机中修改application.properties文件
vim /data/nacos/conf/application.properties
# 开启登录验证
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
# 自定义指定生成JWT的密钥,使用BASE64进行编码,编码前的key长度必须不小于32个字符
nacos.core.auth.plugin.nacos.token.secret.key=NzRmNzRiMGE3OTk5M2ZmOGQyOThhYzgwYWEyZjk4M2MxZTBlMjIyN2YyNGIwOWQzNGQwNGNiYjNiODRlYzQ4ZQ==

nacos.core.auth.plugin.nacos.token.secret.key生成步骤:

1、使用openssl rand -hex 32获取密钥值

[root@centeros7 docker-test]# openssl rand -hex 32
74f74b0a79993ff8d298ac80aa2f983c1e0e2227f24b09d34d04cbb3b84ec48e

2、将密钥值再进行base编码
访问:https://base64.us/,输入密钥进行base64编码

NzRmNzRiMGE3OTk5M2ZmOGQyOThhYzgwYWEyZjk4M2MxZTBlMjIyN2YyNGIwOWQzNGQwNGNiYjNiODRlYzQ4ZQ==

参考资料

  1. Nacos部署(三)Docker部署Nacos2.3单机环境_nacos 2.3.2镜像-CSDN博客
  2. 如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程-腾讯云开发者社区-腾讯云 (tencent.com)
0

评论 (0)

打卡
取消