docker配置nacos 3.x.x版本 📅 2026/7/15 3:46:18 这次配置以nacos的3.1.1版本作为样例环境参考Anolis 23.3GAdocker : latestmysql : 8.4.9VMvare 17NaviCat1.拉取镜像docker pull 镜像的名字:版本号# 这里我拉取的镜像是我阿里云管理镜像的私库,因为我的docker加速源经常失效,所以我自己搞了一个私库,参考项目 GitHub - tech-shrimp/docker_image_pusher: 使用Github Action将国外的Docker镜像转存到阿里云私有仓库供国内服务器使用免费易用 · GitHub2.到nacos的github界面下载对应版本的zip压缩包下面链接是包含所有tag的页面发行作品 ·阿里巴巴/NACOS压缩包的内容包含这些其中最重要的是里面的conf文件夹,为了待会的数据持久化进行挂载.3.创建容器这里采用的是 docker-compose.yml 来进行创建容器这个是官方的属性配置列表链接,里面有很详细的属性配置说明,按需配置nacos-docker/README_ZH.md at master · nacos-group/nacos-docker3.x版本要求强制配置这三个配置属性NACOS_AUTH_TOKEN${your_nacos_auth_secret_token} NACOS_AUTH_IDENTITY_KEY${your_nacos_server_identity_key} NACOS_AUTH_IDENTITY_VALUE${your_nacos_server_identity_value}(1).创建/root/nacos文件夹,同时在其目录下创建子文件夹 logs和data,同时把刚才下载压缩包里的conf文件拖进来,效果如下(2).配置数据库[1].打开navicat,连接你的Mysql,然后创建数据库名字为 nacos[2].将你下的压缩包里的mysql-schema.sql拖到数据库nacos中执行(3).在/root下创建一个docker-compose.yml文件,写入nacos: image: #你拉取的nacos镜像 container_name: #nacos容器的名字 restart: always #是否重启 environment: MODE: standalone #这里以单机模式进行配置 SPRING_DATASOURCE_PLATFORM: mysql #单机能使用的数据库 NACOS_AUTH_ENABLE: true NACOS_AUTH_TOKEN: 这里是一串32位的base编码 #docker执行命令 openssl rand -base64 32可以生成随机的 NACOS_AUTH_IDENTITY_KEY: 认证key,随便写 NACOS_AUTH_IDENTITY_VALUE: 认证的密码,随便写 MYSQL_SERVICE_HOST: #你的数据库地址 MYSQL_SERVICE_PORT: #你的数据库端口 MYSQL_SERVICE_DB_NAME: #nacos要连接的数据库名字 MYSQL_SERVICE_USER: #数据库用户名 MYSQL_SERVICE_PASSWORD: #数据库用户密码(记得密码要用 括起来) #这一部分是数据的挂载 volumes: - yourpath/nacos/conf:/home/nacos/conf - yourpath/nacos/logs:/home/nacos/logs - yourpath/nacos/data:/home/nacos/data ports: - 8848:8848 #服务器连接的端口 - 9848:9848 #微服务应用如 Spring Cloud 应用会通过这个端口与 Nacos 服务端进行通信用于服务注册、配置拉取等核心操作 - 9849:9849 #Nacos 集群模式下各个节点之间会通过这个端口进行数据同步保证集群数据的一致性 - 8080:8080 #web界面的端口 networks: - #你的数据库在docker里的网络(4).进入/root/nacos/conf文件夹,修改 application.properties 配置文件这是第一处需要改动的地方#*************** Datasource Related Configurations ***************# ### nacos.plugin.datasource.log.enabledtrue spring.sql.init.platformmysql #这里要取消注释,初始化数据库为mysql ### Count of DB: db.num1 #这里要取消注释,表示此时连接数据库数量 ### Connect URL of DB: db.url.0jdbc:mysql://你的数据库的地址:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTCallowPublicKeyRetrievaltrue #这里源文件没有allowPublicKeyRetrievaltrue,要加上 db.user#你的数据库用户名 db.password#你的数据库用户名密码这是第二处需要改动的地方### The default token (Base64 string): #nacos.core.auth.plugin.nacos.token.secret.keyVGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg nacos.core.auth.plugin.nacos.token.secret.key #这里是你的 NACOS_AUTH_TOKEN,记得取消注释(5).执行命令docker compose up此时等待容器创建完成出现类似这个界面就代表部署并启动成功4.防火墙开放端口执行下面两条命令#开放8080端口 sudo firewall-cmd --permanent --add-port8080/tcp #开放8848端口 sudo firewall-cmd --permanent --add-port8848/tcp #重载防火墙 sudo firewall-cmd --reload5.打开nacos web,看看有没有部署成功你的虚拟机地址:8080/ #新版本路径 /nacos 变成了 /如有不对或者补充、好的建议欢迎各位留言