使用 docker 安装 nacos3.x

一、安装 nacos

1.拉取镜像

使用如下指令拉取镜像

复制代码
docker pull nacos/nacos-server

拉取完成后,可以使用以下命令查看是否拉取到对应的镜像,默认拉取最新镜像

复制代码
docker images

2.新建挂载文件目录

复制代码
mkdir -p /home/ubuntu/nacos/conf/
                
mkdir -p /home/ubuntu/nacos/logs/

mkdir -p /home/ubuntu/nacos/data/

3.启动 nacos 容器

复制代码
docker run -p 8848:8848 --name nacos -d nacos/nacos-server

4.挂载文件

复制代码
docker cp nacos:/home/nacos/conf/ /home/ubuntu/nacos/

docker cp nacos:/home/nacos/logs/ /home/ubuntu/nacos/

# data目录可能报错,之后可能会用的
docker cp nacos:/home/nacos/data/ /home/ubuntu/nacos/

5.删除容器

复制代码
docker rm -f nacos

二、安装 mysql 数据库

1.创建数据库挂载文件

复制代码
mkdir -p ~/mysql57/data

mkdir -p ~/mysql57/conf

2.启动容器

复制代码
docker run -d \
  --name mysql57 \
  -p 3307:3306 \
  -e MYSQL_ROOT_PASSWORD=root \
  -v ~/mysql57/data:/var/lib/mysql \
  -v ~/mysql57/conf:/etc/mysql/conf.d \
  mysql:5.7

3.复制文件

在 nacos 文件挂载目录中复制 mysql-schema.sql 文件到 mysql 中 nacos-config 数据库

读取成功

三、重启 nacos 服务

1.修改配置文件

找到挂载文件目录下的 application.properties 文件

文件中替换对应内容

复制代码
spring.sql.init.platform=mysql
db.num=1
db.url.0=jdbc:mysql://172.17.0.2:3307/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

这里的数据库的 ip 为下方命令行命令所得

复制代码
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql57

2.鉴权关闭

2.1关闭鉴权(不使用鉴权)

将 application.properties 文件中的 auth 相关字段置为 false

2.2.重新创建容器

复制代码
docker run -d --name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
  -e MODE=standalone \
  -e NACOS_AUTH_ENABLE=false \
  -e NACOS_AUTH_TOKEN=dGVzdDp0ZXN0 \ #该参数自定义值即可(基于关闭鉴权的要求)
  -e NACOS_AUTH_IDENTITY_KEY=serverIdentity \ #该参数自定义值即可(基于关闭鉴权的要求)
  -e NACOS_AUTH_IDENTITY_VALUE=security \ #该参数自定义值即可(基于关闭鉴权的要求)
  -e JVM_XMS=512m \
  -e JVM_XMX=512m \
  -e JVM_XMN=256m \
  -e JVM_MS=128m \
  -e JVM_MMS=256m \
-v /home/ubuntu/nacos/conf:/home/nacos/conf \
-v /home/ubuntu/nacos/logs:/home/nacos/logs \
-v /home/ubuntu/nacos/data:/home/nacos/data \
nacos/nacos-server

访问 http://localhost:8848

注:不要加 /nacos,因为 Nacos 3.x 中前端页面默认在根路径 / 下。

3.鉴权开启

3.1开启鉴权

将 application.properties 文件中的 auth 相关字段置为 true

3.2.重新创建容器

复制代码
docker run -d --name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e MODE=standalone \
-e NACOS_AUTH_ENABLED=true \ #这里需要开启,下方 TOKEN 需要32位以上
-e NACOS_AUTH_TOKEN=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg5IUA= \
-e NACOS_AUTH_IDENTITY_KEY=serverIdentity \
-e NACOS_AUTH_IDENTITY_VALUE=security \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=128m \
-e JVM_MMS=256m \
-v /home/ubuntu/nacos/conf:/home/nacos/conf \
-v /home/ubuntu/nacos/logs:/home/nacos/logs \
-v /home/ubuntu/nacos/data:/home/nacos/data \
nacos/nacos-server

访问 http://localhost:8848

输入账号密码同为 nacos,登录成功

相关推荐
Leinwin17 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_8653825017 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇17 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.75917 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣18 小时前
智能体选型实战指南
运维·人工智能
yy552718 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ19 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔20 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密20 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi201520 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑