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

相关推荐
2401_873587821 小时前
Linux常见指令以及权限理解
linux·运维·服务器
RW~1 小时前
Minio安装配置,桶权限设置,nginx代理 https minio
运维·nginx·https·minio
李洋-蛟龙腾飞公司2 小时前
HarmonyOS NEXT应用元服务常见列表操作分组吸顶场景
linux·运维·windows
链上Sniper2 小时前
智能合约状态快照技术:实现 EVM 状态的快速同步与回滚
java·大数据·linux·运维·web3·区块链·智能合约
从零开始学习人工智能3 小时前
深入解析 OPC UA:工业自动化与物联网的关键技术
运维·物联网·自动化
从后端到QT3 小时前
SRS流媒体服务器(8)源码分析之rtc/rtmp互相转码详解
运维·服务器·实时音视频
CodeWithMe3 小时前
Nginx入门进阶:从零到高手的实战指南
运维·nginx
高山莫衣4 小时前
Docker Desktop导致存储空间不足时的解决方案
docker·容器·eureka
鹏大师运维4 小时前
在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
linux·运维·docker·容器·麒麟·统信uos·中科方德
lovely_nn4 小时前
docker 介绍
docker·k8s