使用 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,登录成功

相关推荐
J2虾虾9 小时前
Docker启动超时,吓得我一身汗
运维·docker·容器
码农小卡拉10 小时前
Ubuntu22.04 安装 Docker 及 Docker Compose v2 详细教程
ubuntu·docker·容器
一生只为赢10 小时前
通俗易懂:ARM指令的寻址方式(三)
运维·arm开发·数据结构·嵌入式实时数据库
运维行者_10 小时前
2026 技术升级,OpManager 新增 AI 网络拓扑与带宽预测功能
运维·网络·数据库·人工智能·安全·web安全·自动化
液态不合群11 小时前
Nginx多服务静态资源路径冲突解决方案
运维·nginx
Getgit11 小时前
Linux 下查看 DNS 配置信息的常用命令详解
linux·运维·服务器·面试·maven
数通工程师11 小时前
企业级硬件防火墙基础配置实战:从初始化到规则上线全流程
运维·网络·网络协议·tcp/ip·华为
EasyNVR12 小时前
docker版EasyNVR如何使用同步插件教程(包含网盘挂载,路径映射等)
docker·容器·音视频
岁岁种桃花儿12 小时前
详解kubectl get replicaset命令及与kubectl get pods的核心区别
运维·nginx·容器·kubernetes·k8s
捷智算云服务12 小时前
告别运维割裂!捷智算GPU维修中心重新定义“全栈式”维修新标准
运维·服务器·性能优化