视频

我的个人视频,有详细步骤和说明

使用docker部署nacos_哔哩哔哩_bilibili

环境

虚拟机:VM,CentOS7

远程连接工具:MobaXterm

查看官方文档

Nacos Docker 快速开始 | Nacos 官网

命令解读:

官方给容器命令nacos-statndalone-derby含义:
standalone:单机模式;derby:Nacos 使用内嵌的 Derby 数据库存储数据

-e MODE=standalone \:

表示使用单机模式

nacos默认使用derby数据库

8080 端口:

Nacos 控制台(Web UI)的默认访问端口
8848 端口:

Nacos 用于服务注册与发现以及配置管理的客户端 API 端口
9848 端口

Nacos 的 gRPC 端口

使用mysql数据库

准备mysql数据库表,用来存储nacos数据

nacos/distribution/conf/mysql-schema.sql at master · alibaba/nacos · GitHub

官方文档说明,使用mysql数据库,需要准备数据库

在官方项目中找到数据库表:

  1. 下载
  2. 创建nacos数据库
  3. 运行sql

下载完sql,创建数据库然后运行

docker部署nacos

生成token

随机字符串生成器 | 菜鸟工具

文档要求:token使用长度大于32字符的字符串,再经过Base64编码

Base64 编码/解码 - 锤子在线工具

查看官方文档部署手册

我现在使用docker部署,单机模式,同时使用msyql

查看官网,文档给了使用docker-compose命令启动Nacos

我使用系统参数配置

 根据属性进行配置

方法一:创建.env文件(个人使用的方法)

参考官方.env文件书写

通过官方文档,跳转到官方nacos-docker项目

参考项目的文档

个人配置 

创建.env文件

个人配置,写上对应的信息 

对于要求的key和value,任意字符串即可,只要两者不相等,且不为空

比如我的key可以是nacos,value可以是zhiwu

PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=<你的mysql连接host
MYSQL_SERVICE_DB_NAME=nacos
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=<你的mysql密码>
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
NACOS_AUTH_IDENTITY_KEY=<你的key>
NACOS_AUTH_IDENTITY_VALUE=<你的value>
NACOS_AUTH_TOKEN=<你的token>

运行

官方文档:

上图中,端口号是8080,8848,9848

  • 在 Nacos 2.x 及之前版本,控制台和核心服务都共用 8848 端口
  • 从 3.x 开始,官方将控制台独立出来,使用 8080 端口

但一般springboot项目都是8080端口,所以我修改了端口映射

docker run --name nacos \
     --env-file /root/nacos/.env \
    -p 9080:8080 \
    -p 8848:8848 \
    -p 9848:9848 \
    -d nacos/nacos-server:latest

查看日志

docker logs nacos

方法二:直接运行

直接运行的坏处就是,这些配置不好改

docker run --name nacos-standalone-mysql \
  -e MODE=standalone \
  -e PREFER_HOST_MODE=hostname \
  -e SPRING_DATASOURCE_PLATFORM=mysql \
  -e MYSQL_SERVICE_HOST=<你的mysql主机> \
  -e MYSQL_SERVICE_PORT=3306 \
  -e MYSQL_SERVICE_DB_NAME=nacos \
  -e MYSQL_SERVICE_USER=root \
  -e MYSQL_SERVICE_PASSWORD=<你的mysql密码> \
  -e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai' \
  -e NACOS_AUTH_IDENTITY_KEY=<你的key> \
  -e NACOS_AUTH_IDENTITY_VALUE=<你的value> \
  -e NACOS_AUTH_TOKEN=<你的token> \
  -p 9080:8080 \
  -p 8848:8848 \
  -p 9848:9848 \
  -d nacos/nacos-server:latest

进入网站

根据文档:

可以看到,端口是8080

但是为了不让8080端口被占用,所以我映射了9080(之前的docker run运行命令)

所以进入网站:

<你的ip>:9080/index.html

密码 

老版本(如2.1.x及以前):

默认用户名和密码都是 nacos。

新版本(如2.2.0及以后):

第一次访问登录页面时,会提示你为 nacos 管理员账号设置一个新密码,而不是直接用默认密码登录

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐