简单的通过DockerFile 构建自己的nacos镜像 并持久化到 MySQL8.0

目录

一. 准备内容:

1.  Docker、这里暂时使用 Windows 版来演示

2.  获取nacos的docker 镜像源码(构建镜像要用到)

3.  下载nacos的项目的压缩包(若不指定版本无需下载)

二. 修改配置DockerFile:

1.  找到下载的镜像源码目录(压缩包的话解压出来)

2.  复制nacos压缩包到build目录下,并且编辑Dockerfile文件(重点)

三.  构建镜像

nacos成功运行并且持久化到MySQL8.0


简单的通过DockerFile 来构建自己的nacos镜像 并持久化到 MySQL8.0
需要深入了解nacos的可以去nacos的官网查看和阅读资料。
中文官网: https://nacos.io/zh-cn/docs/what-is-nacos.html

由于平时创建nacos容器的时候 每次docker run 后面都要跟配置持久化参数,搞不好又要重新弄,所以直接构建一个镜像,参数预设好就不用每次都使用 CV大法了,演示下如何构建自己的Nacos docker 镜像,闲话不多说,切入正题。



一. 准备内容:


1.  Docker、这里暂时使用 Windows 版来演示

  1. 菜鸟教程----如何安装Docker

2.  获取nacos的docker 镜像源码(构建镜像要用到)

  1. nacos官网下载
  2. git clone https://github.com/nacos-group/nacos-docker.git 
  3. 下载nacos数据库脚本

3.  下载nacos的项目的压缩包(若不指定版本无需下载)

  1.  官网下载需要的版本
  2. 下载nacos-server-2.0.2.tar.gz


二. 修改DockerFile配置:

1.  找到下载的镜像源码目录(若是压缩包解压出来)

2.  复制nacos压缩包到build目录下,并且编辑Dockerfile文件(重点)

>>> 环境变量注意 " \ " ,仔细填写否则无法启动,MYSQL_SERVICE_HOST 填写数据库地址就  可以,如果是宿主机就ipconfig 看下IP地址

    #使用的哪个平台数据库 \
	SPRING_DATASOURCE_PLATFORM="mysql" \
	#你的MySQL的地址 \
	MYSQL_SERVICE_HOST="10.64.7.180" \
	#MySQL使用的端口号(默认3306,这里不配置也可以) \
	MYSQL_SERVICE_PORT="3306" \
	#nacos持久化数据库的名称(保存nacos数据,如果你没有创建一个) \
	MYSQL_SERVICE_DB_NAME="nacos" \
	#数据库链接属性配置 (MySQL 8.0之前用这个:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false) \
	MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC" \
	#MySQL用户名 \
	MYSQL_SERVICE_USER="root" \
	#MySQL密码 \
	MYSQL_SERVICE_PASSWORD="root"

如果你不指定版本从这直接创建数据库第

nacos版本号

#nacos版本号
ARG NACOS_VERSION=2.0.2

把自己的下载的版本复制进去

#把自己的下载的版本复制进去
COPY nacos-server-2.0.2.tar.gz /home
#用自己下载的版本 就不用去拉取所以注释掉
#RUN wget  https://github.com/alibaba/nacos/releases/download/${NACOS_VERSION}${HOT_FIX_FLAG}/nacos-server-${NACOS_VERSION}.tar.gz -P /home

3.  创建nacos数据库 


三.  构建镜像

1.  打开cmd切换到build目录下执行构建命令

docker build -t nacos/nacosbuild .

 2.  查看下构建好的镜像,创建容器运行nacos服务

docker images
docker run -d --name nacosbuild -p 8848:8848 -p 9848:9848 nacos/nacosbuild

四.  nacos成功运行并且持久化到MySQL8.0

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要使用MySQL 8.作为Nacos持久化存储,需要进行以下步骤: 1. 安装MySQL 8.,并创建一个新的数据库和用户。 2. 下载Nacos的最新版本,并解压缩到本地。 3. 进入Nacos的conf目录,编辑application.properties文件,将以下配置添加到文件末尾: ``` spring.datasource.platform=mysql db.num=1 db.url.=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=100&socketTimeout=300&autoReconnect=true db.user=root db.password=123456 ``` 其中,db.url.是MySQL数据库的连接地址,db.user和db.password是数据库的用户名和密码。 4. 启动Nacos服务,它将自动使用MySQL 8.作为持久化存储。 5. 如果需要更改数据库配置,可以编辑application.properties文件并重新启动Nacos服务。 注意:在使用MySQL 8.时,需要将MySQL的密码加密方式设置为mysql_native_password。可以使用以下命令更改用户的密码加密方式: ``` ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; ``` 其中,'root'是MySQL的用户名,'new_password'是新的密码。 ### 回答2: Nacos是一款分布式的配置中心和元数据管理系统,它支持将配置数据持久化到数据库中,而MySQL8.0是一款开源的关系型数据库。 将Nacos配置持久化MySQL8.0中,需要进行以下步骤: 1. 准备MySQL8.0数据库(可以使用docker快速搭建数据库环境),并创建一个新的数据库和相关的用户及权限。 2. 下载nacos-server版本,并进行解压和配置。 3. 打开nacos/conf/nacos-mysql.sql文件,将其中的sql脚本在新建的数据库中执行,以创建必要的表结构和索引。 4. 配置nacos/conf/application.properties文件,修改如下配置: ```java #启用MySQL持久化配置 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2B8&useSSL=false db.user=root db.password=root ``` 其中,db.url.0需要修改为MySQL的连接地址,db.user和db.password根据实际情况进行修改。 5. 启动Nacos服务,使用浏览器访问http://localhost:8848/nacos,输入用户名和密码进行登录。 以上步骤完成后,Nacos就会将所有的配置保存到MySQL数据库中,以保证数据的持久化。 需要注意的是,MySQL8.0与之前版本略有不同,需要修改部分配置项,例如url中添加serverTimezone=GMT%2B8选项,否则会出现时间解析异常的问题。此外,在配置MySQL的时候,建议采用UTF-8编码,以支持中文等多语言配置。 总的来说,使用MySQL8.0作为Nacos持久化存储是十分可行的,而且功能也十分强大,能够满足大部分企业的需求。 ### 回答3: Nacos是一款分布式的服务发现和配置管理平台,它的作用是帮助开发者更好地管理和维护配置文件,同时提供了高可用性、高可扩展性、高性能和易于维护等优势。而Nacos持久化配置则可以将配置信息持久化到数据库中,以保证配置信息的安全性和数据可靠性。在这里我们将介绍如何使用MySQL8.0来实现Nacos持久化配置。 首先,我们需要配置MySQL8.0的相关参数: 1、创建一个新的数据库实例,并分配一个新的用户和密码。 2、设置MySQL的字符集为UTF-8,以免出现中文乱码的问题。 3、创建一个新的数据表用于存储配置信息,数据表的结构可以参考Nacos的GitHub仓库。 接下来,我们需要在Nacos的配置文件中进行以下配置: 1、在nacos-server.jar所在的目录下创建一个新的文件夹,例如”nacos-data”。 2、修改nacos的配置文件,指定nacos持久化位置为“nacos-data”文件夹,并设置相应的数据库连接参数。 3、启动nacos,创建需要的配置信息,通过设置数据库连接参数,将配置信息持久化到MySQL数据库中。 4、启动nacos,从MySQL数据库中读取配置信息。在启动时,nacos会先从MySQL数据库中加载配置信息,然后再将它们加载到内存中。 总之,Nacos持久化配置功能可以使开发者以更加安全、可靠和高效的方式管理和维护配置信息。通过MySQL8.0的配置,我们可以将配置信息存储在数据库中,并通过nacos的自动读取和加载配置信息,保证了数据的可靠性、安全性和高性能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值