nacos外接mysql的docker部署方式

本文档详细介绍了如何在Docker环境下,特别是在M1架构上,部署Nacos并连接到外部MySQL数据库。首先,从Docker Hub拉取Nacos镜像并启动容器,设置鉴权。接着,介绍如何将mysql-schema.sql导入MySQL,并配置远程数据库用户。在确保数据库用户能正常访问后,讲解了Nacos容器的运行和配置,包括环境变量设定,确保容器IP与宿主机一致,以及使用1panel运维面板进行管理。最后,提供了Docker Compose配置示例和相关附件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

nacos注册中心主要保存了各个可用服务的网络地址,如ip和port等信息。

在服务相互调用时,可以统一把服务名字都注册到中心,该中心则记录这些服务的不同名称和当前状态,通过心跳机制来动态感知服务的状态,以此来准确帮助服务之间的交互。

在这里插入图片描述

  • 需求:nacos配置存储在mysql数据库,方便数据迁移和nacos版本升级。
  • 实现思路:nacos采用外接mysql的部署方式
  • 核心参数:
-e SPRING_DATAS
Nacos 本身默认支持多种数据库,如 MySQL、Derby 等,但 PostgreSQL 并不在默认支持列表中。然而,通过社区的努力和源码的修改,已经可以实现 Nacos 对 PostgreSQL 的支持,尤其是在 Docker 部署环境下。 可以通过特定的 Docker 镜像来部署支持 PostgreSQL 的 Nacos 实例。这些镜像通常基于官方 Nacos 版本进行了定制化改造,以适配 PostgreSQL 数据库。例如,有提供基于 Nacos 2.1.0 修改的支持 PostgreSQL 12.x 的 Docker 镜像版本,该镜像不仅包含了 Nacos 服务,还内置了 PostgreSQL 数据库及其初始化 SQL 脚本,方便用户在容器化环境中快速部署和使用[^3]。 为了运行这样的镜像,需要准备一个 `docker-compose.yml` 文件来定义服务,并且可能还需要一个 `.env` 文件来设置环境变量,比如数据库连接信息等。下面是一个简单的 `docker-compose.yml` 示例: ```yaml version: "3" services: nacos: image: yangxj96/nacos-service-pgsql:v2.2.2-2 container_name: nacos-pgsql privileged: true env_file: - "/Nacos/env/pgsql.env" network_mode: host volumes: - "/Nacos/logs/:/home/nacos/logs" ``` 以及相应的 `.env` 文件内容示例: ``` PREFER_HOST_MODE=ip SPRING_DATASOURCE_PLATFORM=postgresql PGSQL_URL=jdbc:postgresql://localhost:5432/db?currentSchema=schema PGSQL_USERNAME=postgres PGSQL_PASSWORD=postgres ``` 以上配置可以帮助您启动一个使用 PostgreSQL 作为后端数据库Nacos 服务实例。需要注意的是,在部署之前,请确保您的环境满足所有必要的要求,包括但不限于正确安装 Docker、调整好镜像中的配置文件以及保证容器网络配置正确以便 Nacos 可以成功连接到 PostgreSQL 数据库[^4]。 此外,对于那些希望从头开始构建自己的 Nacos PostgreSQL Docker 镜像的人来说,也可以参考已有的项目结构和构建脚本来进行自定义开发和打包。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java、iOS、Vue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值