【nacos】docker部署nacos【单机模式使用mysql,使用.env配置】
我的个人视频,有详细步骤。
视频
我的个人视频,有详细步骤和说明
环境
虚拟机:VM,CentOS7
远程连接工具:MobaXterm
查看官方文档
命令解读:
官方给容器命令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数据库,需要准备数据库

在官方项目中找到数据库表:
- 下载
- 创建nacos数据库
- 运行sql

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

docker部署nacos
生成token
文档要求:token使用长度大于32字符的字符串,再经过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 管理员账号设置一个新密码,而不是直接用默认密码登录

更多推荐



所有评论(0)