目录

一. 准备内容:

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐