容器部署nacos权限管理不生效问题解决

文章描述了在使用nacos/nacos-server:v2.2.0官方镜像部署Nacos后,遇到权限管理失效的问题。解决方案是创建自定义Docker镜像,在Dockerfile中添加配置nacos.core.auth.enabled=true到应用配置文件。作者认为Nacos的权限管理系统存在不足,如前端操作不便,不支持批量用户和权限管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用nacos官方镜像 nacos/nacos-server:v2.2.0
部署了nacos后,发现权限管理不生效。
创建了用户没有添加任何角色,还是可以访问所有的namespace配置。

查了资料说是需要启用nacos.core.auth.enabled=true

但是容器里并没有把这个配置打进去,留了个环境变量配置了也不生效。

所以基于官方的镜像再做一个镜像

docker pull nacos/nacos-server:v2.2.0
mkdir my-nacos
cd my-nacos
cat > Dockerfile << EOF
FROM nacos/nacos-server:v2.2.0
RUN echo nacos.core.auth.enabled=true >> /home/nacos/conf/application.properties
EOF
docker build . -t my-nacos:v2.2.0

下面就使用自己的镜像启动,权限就生效了。

不过,nacos的权限管理做的挺烂的,至少前端添加管理权限很痛苦,角色不支持批量添加用户和权限,只能一个一个加。

### 如何在 Linux 上通过 Docker 部署 Nacos 的最佳实践 #### 准备工作 确保已安装并配置好 Docker 和 Docker Compose。对于加速国内镜像源,可以编辑 `/etc/docker/daemon.json` 文件来设置阿里云或其他可用的镜像地址[^3]。 ```json { "registry-mirrors": [ "https://do.nark.eu.org", "https://dc.j8.work", "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.nju.edu.cn" ] } ``` 重启 Docker 服务使更改生效: ```bash sudo systemctl restart docker ``` #### 安装 Nacos 使用 Docker 下载指定版本的 Nacos Server 镜像: ```bash sudo docker pull nacos/nacos-server:1.2.0 ``` 创建用于存储数据卷和日志文件的位置,并赋予适当权限: ```bash mkdir -p ~/data/nacos/logs && chmod -R 755 ~/data/nacos/ ``` 启动单机模式下的 Nacos 实例: ```yaml version: '3' services: nacos: image: nacos/nacos-server:1.2.0 container_name: nacos-docker environment: MODE: standalone ports: - "8848:8848" - "9848:9848" # Distro协议长连接端口,默认关闭 - "9506:9506" # RMI注册中心端口,默认关闭 volumes: - ~/data/nacos/init.d/customers:/home/nacos/init.d/customers - ~/data/nacos/logs:/home/nacos/logs networks: default: ipv4_address: 172.18.0.10 networks: default: driver: bridge ipam: config: - subnet: 172.18.0.0/16 ``` 保存上述内容到 `docker-compose.yml` 文件中,接着执行命令启动服务: ```bash docker-compose up -d ``` 验证部署成功与否可以通过浏览器访问 http://localhost:8848/nacos 或者使用 curl 命令测试 API 接口响应情况。 #### 进入容器内部操作 当需要进入正在运行中的 Nacos 容器时可采用如下指令: ```bash docker exec -it nacos-docker /bin/bash ``` 这将提供一个交互式的 shell 终端给用户以便于进一步调试或维护。 #### 查看映射端口信息 为了确认宿主机上的哪些端口被分配给了该容器内的应用程序进程,可以利用此命令获取详情: ```bash docker port nacos-docker ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值