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

相关推荐
一位正在转型AI全栈的前端工程师20 小时前
前端转全栈:从 502 到 200,我的第一个 Docker+Nginx+Node.js 项目
docker·容器
jason_renyu20 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
linux·docker·新手docker学习·docker日志查询·docker服务管理
九硕智慧建筑一体化厂家20 小时前
从电费支出到碳资产收益,直流照明如何让商业楼宇实现柔性用能
运维·人工智能·智慧城市
童槿顏丶20 小时前
Jenkins部署(Docker)
java·docker·jenkins
维核科技21 小时前
大模型私有化部署:Docker与Kubernetes实战避坑
docker·容器·kubernetes
2601_9494999421 小时前
硬件工程师实操:芯瑞科技两款 400G 高速互联方案参数、场景、选型全解析
大数据·运维·人工智能·科技·光模块
雾时之林21 小时前
Linux--介绍及管理
linux·运维·服务器
啦啦啦啦啦zzzz21 小时前
5种IO模型
运维·服务器·网络·c++
FreeTinker21 小时前
企业存储服务器NAS的选型逻辑与补充路径
运维·服务器