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

相关推荐
木易双人青17 分钟前
01-Docker-简介、安装与使用
运维·docker·容器
专注API从业者1 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
Lovyk3 小时前
Linux 正则表达式
linux·运维
ac.char4 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
罗不俷5 小时前
【RH134知识点问答题】第13章:运行容器
容器·rhel
中科米堆6 小时前
中科米堆CASAIM自动化三维测量设备测量汽车壳体直径尺寸
运维·自动化·汽车·视觉检测
缘华工业智维6 小时前
CNN 在故障诊断中的应用:原理、案例与优势
大数据·运维·cnn
开航母的李大8 小时前
软件系统运维常见问题
运维·服务器·系统架构·运维开发
AI大模型8 小时前
基于 Docker 的 LLaMA-Factory 全流程部署指南
docker·llm·llama
华强笔记9 小时前
Linux内存管理系统性总结
linux·运维·网络