docker配置nacos 3.x.x版本
2026/7/15 3:46:15 网站建设 项目流程

这次配置以nacos的3.1.1版本作为样例

环境参考

Anolis 23.3GA

docker : latest

mysql : 8.4.9

VMvare 17

NaviCat

1.拉取镜像

docker pull 镜像的名字:版本号

# 这里我拉取的镜像是我阿里云管理镜像的私库,因为我的docker加速源经常失效,所以我自己搞了一个私库,参考项目 GitHub - tech-shrimp/docker_image_pusher: 使用Github Action将国外的Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用 · GitHub

2.到nacos的github界面下载对应版本的zip压缩包

下面链接是包含所有tag的页面

发行作品 ·阿里巴巴/NACOS压缩包的内容包含这些

其中最重要的是里面的conf文件夹,为了待会的数据持久化进行挂载.

3.创建容器

这里采用的是 docker-compose.yml 来进行创建容器

这个是官方的属性配置列表链接,里面有很详细的属性配置说明,按需配置

nacos-docker/README_ZH.md at master · nacos-group/nacos-docker

3.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.enabled=true spring.sql.init.platform=mysql #这里要取消注释,初始化数据库为mysql ### Count of DB: db.num=1 #这里要取消注释,表示此时连接数据库数量 ### Connect URL of DB: db.url.0=jdbc:mysql://你的数据库的地址:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true #这里源文件没有allowPublicKeyRetrieval=true,要加上 db.user=#你的数据库用户名 db.password=#你的数据库用户名密码

这是第二处需要改动的地方

### The default token (Base64 string): #nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg= nacos.core.auth.plugin.nacos.token.secret.key= #这里是你的 NACOS_AUTH_TOKEN,记得取消注释

(5).执行命令

docker compose up

此时等待容器创建完成

出现类似这个界面就代表部署并启动成功

4.防火墙开放端口

执行下面两条命令

#开放8080端口 sudo firewall-cmd --permanent --add-port=8080/tcp #开放8848端口 sudo firewall-cmd --permanent --add-port=8848/tcp #重载防火墙 sudo firewall-cmd --reload

5.打开nacos web,看看有没有部署成功

你的虚拟机地址:8080/ #新版本路径 "/nacos" 变成了 "/"

如有不对或者补充、好的建议,欢迎各位留言

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询