docker部署nacos报错 ‘env NACOS_AUTH_TOKEN must be set with Base64 String.‘

一、前言

本文在centos系统下使用docker启动nacos,报错:'env NACOS_AUTH_TOKEN must be set with Base64 String.'

1.使用如下命令可以查看nacos的启动日志。

复制代码
docker logs nacos-server

2.大致报错就是这样:

二、解决办法

1.我在网上看的解决方法是:

在 .env 文件中添加 NACOS_AUTH_TOKEN 环境变量,这个变量需要是 Base64 编码的字符串。

2.但是我添加之后并未解决我的问题,于是我去nacos官网查看:

https://nacos.io/docs/v3.0/quickstart/quick-start-docker/?spm=5238cd80.6a33be36.0.0.10651e5dFZrwzM

3.官网中给出的解决办法是在启动命令上添加ACOS_AUTH_TOKENNACOS_AUTH_IDENTITY_KEY、NACOS_AUTH_IDENTITY_VALUE三个必要参数,不过我发现命令中并未添加自启动参数,经我补全后如下所示:

复制代码
docker run --name nacos-standalone-derby \
    -e MODE=standalone \
    -e NACOS_AUTH_TOKEN=${your_nacos_auth_secret_token} \
    -e NACOS_AUTH_IDENTITY_KEY=${your_nacos_server_identity_key} \
    -e NACOS_AUTH_IDENTITY_VALUE=${your_nacos_server_identity_value} \
    -p 8080:8080 \
    -p 8848:8848 \
    -p 9848:9848 \
    --restart=unless-stopped \
    -d nacos/nacos-server:latest

为了方便一键复制,这里我把生成好的参数放出来:

复制代码
docker run --name nacos-standalone-derby -e MODE=standalone -e NACOS_AUTH_TOKEN=OU1oUmtzZlJJSmRjMHZjU2QzMjNrWXVSS3haZEQ1MTk5WVZXNk91dHA4Zk1yZjYw -e NACOS_AUTH_IDENTITY_KEY=root -e NACOS_AUTH_IDENTITY_VALUE=root -p 8080:8080 -p 8848:8848 -p 9848:9848 --restart=unless-stopped -d nacos/nacos-server:latest

4.其中ACOS_AUTH_TOKEN可以使用如下命令生成:

复制代码
echo -n "$(head -c 48 /dev/urandom | base64 | tr -dc 'a-zA-Z0-9' | head -c 48)" | base64

5.NACOS_AUTH_IDENTITY_KEY、NACOS_AUTH_IDENTITY_VALUE随便设置即可,我是都设置成了root。

6.记得在启动nacos之前先关闭并移除原有的nacos:

1)查看所有容器ID命令:

复制代码
docker ps -a

2)停止容器:

复制代码
docker stop <container_id>

3)移除容器:

复制代码
docker rm <container_id>

三、检查 Nacos Docker 是否启动

要检查 Nacos Docker 是否成功启动,您可以使用几种方法:

1.官网提供方法 and 博主推荐(容器id查看命令看上面)

复制代码
docker logs -f $container_id

2.使用 Docker 命令:

您可以通过以下命令查看 Nacos 容器的状态:

复制代码
docker ps -f name=nacos-server

如果您看到容器的状态为 Up,则表示 Nacos 服务已成功启动。

3.访问 Nacos 控制台:

在网页浏览器中输入以下地址,查看 Nacos 的控制面板(8848不行就试试8080):

复制代码
http://<your-host-ip>:8848/nacos

ip地址如果是虚拟机就是用ip address命令查看虚拟机ip,本地就是localhost。

如果能成功打开控制面板,表示 Nacos 正在运行。

4.检查日志:

通过以下命令查看 Nacos 的日志输出:

复制代码
docker logs nacos-server

如果日志中没有错误信息,并且包含 "Nacos started successfully" 的提示,说明 Nacos 启动正常。

相关推荐
70asunflower14 分钟前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
神梦流1 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫1 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
春日见1 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe21 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
Lsir10110_2 小时前
【Linux】进程信号(下半)
linux·运维·服务器
酉鬼女又兒2 小时前
零基础入门Linux指南:每天一个Linux命令_pwd
linux·运维·服务器
云飞云共享云桌面2 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
zl_dfq2 小时前
Linux 之 【多线程】(pthread_xxx、轻量级进程、原生线程库、线程ID、__thread、线程栈、线程与信号、线程与程序替换)
linux