目录
2. 获取nacos的docker 镜像源码(构建镜像要用到)
2. 复制nacos压缩包到build目录下,并且编辑Dockerfile文件(重点)
简单的通过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 版来演示
2. 获取nacos的docker 镜像源码(构建镜像要用到)
- nacos官网下载
-
git clone https://github.com/nacos-group/nacos-docker.git
- 下载nacos数据库脚本
3. 下载nacos的项目的压缩包(若不指定版本无需下载)
二. 修改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