【nacos】docker部署nacos【单机模式使用mysql,使用.env配置】

张开发
2026/4/6 10:54:10 15 分钟阅读

分享文章

【nacos】docker部署nacos【单机模式使用mysql,使用.env配置】
视频我的个人视频有详细步骤和说明使用docker部署nacos_哔哩哔哩_bilibili环境虚拟机VMCentOS7远程连接工具MobaXterm查看官方文档Nacos Docker 快速开始 | Nacos 官网命令解读官方给容器命令nacos-statndalone-derby含义standalone单机模式derbyNacos 使用内嵌的 Derby 数据库存储数据-e MODEstandalone \表示使用单机模式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编码Base64 编码/解码 - 锤子在线工具查看官方文档部署手册我现在使用docker部署单机模式同时使用msyql查看官网文档给了使用docker-compose命令启动Nacos我使用系统参数配置根据属性进行配置方法一创建.env文件个人使用的方法参考官方.env文件书写通过官方文档跳转到官方nacos-docker项目参考项目的文档个人配置创建.env文件个人配置写上对应的信息对于要求的key和value任意字符串即可只要两者不相等且不为空比如我的key可以是nacosvalue可以是zhiwuPREFER_HOST_MODEhostname MODEstandalone SPRING_DATASOURCE_PLATFORMmysql MYSQL_SERVICE_HOST你的mysql连接host MYSQL_SERVICE_DB_NAMEnacos MYSQL_SERVICE_PORT3306 MYSQL_SERVICE_USERroot MYSQL_SERVICE_PASSWORD你的mysql密码 MYSQL_SERVICE_DB_PARAMcharacterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseallowPublicKeyRetrievaltrueserverTimezoneAsia/Shanghai NACOS_AUTH_IDENTITY_KEY你的key NACOS_AUTH_IDENTITY_VALUE你的value NACOS_AUTH_TOKEN你的token运行官方文档上图中端口号是808088489848在 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 MODEstandalone \ -e PREFER_HOST_MODEhostname \ -e SPRING_DATASOURCE_PLATFORMmysql \ -e MYSQL_SERVICE_HOST你的mysql主机 \ -e MYSQL_SERVICE_PORT3306 \ -e MYSQL_SERVICE_DB_NAMEnacos \ -e MYSQL_SERVICE_USERroot \ -e MYSQL_SERVICE_PASSWORD你的mysql密码 \ -e MYSQL_SERVICE_DB_PARAMcharacterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseallowPublicKeyRetrievaltrueserverTimezoneAsia/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 管理员账号设置一个新密码而不是直接用默认密码登录

更多文章