【Docker】Nacos 与 MySQL 整合,手把手教你Docker搭建nacos单机版

文章目录

  • 1. Docker搭建 Nacos 单机版步骤
    • 1.1. 单机非持久化
    • 1.2. 单机持久化到MySQL
  • 2. 参考资料

本文描述了如何用 Docker 安装 Nacos 的单机版,以及用 MySQL 作持久化。

1. Docker搭建 Nacos 单机版步骤

Nacos 中的数据默认是保存在内存数据库 Derby 中,重启后数据消失,所有生产环境都是把Nacos数据保存到MySQL中,开发时也可以不用MySQL持久化数据。故单机安装方式分以下两种。

1.1. 单机非持久化

注意:如果只是简单的学习使用直接用下面的命令就好了。但是nacos所有元数据都会保存在容器内部,如果容器迁移会导致nacos元数据不复存在,所以通常我们通常会将nacos元数据保存在mysql中。

以nacos的2.1.1版本为例:

  1. 拉取镜像

    docker pull nacos/nacos-server:v2.1.1
    

    不建议用最新版本,可能有意外的问题

  2. 创建容器

    # 用最新版启动nacos容器
    docker run -d --name nacos -p 8848:8848 \
    -e MODE=standalone \
    nacos/nacos-server:v2.1.1
    

    也可以不拉取容器直接启动,docker会帮我们自动拉取镜像,如果想要执行的版本请指定版本号

  3. 进入监管界面 http://localhost:8848/nacos

    【Docker】Nacos 与 MySQL 整合,手把手教你Docker搭建nacos单机版_第1张图片

    注:初始账户密码均为 nacos,只要进入了页面就代表启动成功了

1.2. 单机持久化到MySQL

搭建单机且持久化到MySQL服务器的步骤如下:

  1. 启动一台mysql服务器,创建数据库 nacos(可自定义),用 sql语句源文件 初始化 MySQL 数据库

  2. 考虑持久化的配置

    Nacos 通过配置文件的方式指定了启动模式、持久化方法、连接哪台MySQL、MySQL用户名、MySQL密码等,Docker 通过变量的方式把这些需要用户执行的内容暴露出来。常见变量如下表:

    变量 说明
    MODE 模式。单机固定写 standalone
    SPRING_DATASOURCE_PLATFORM 数据平台。固定写 mysql
    MYSQL_SERVICE_HOST 主机
    MYSQL_SERVICE_PORT 端口。默认值 3306
    MYSQL_SERVICE_DB_NAME 数据库名称
    MYSQL_SERVICE_USER 用户名
    MYSQL_SERVICE_PASSWORD 密码
    MYSQL_SERVICE_DB_PARAM jdbc 的 url 连接参数(可根据情况自定义添加,nacos是有默认值的)
  3. 整理为如下的命令

    用户根据自己的环境自行修改相应的变量参数值,我本地命令如下作为参考:

    docker run -d -p 8848:8848 --name nacos \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -e MODE=standalone \
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_SERVICE_HOST=192.168.1.3 \
    -e MYSQL_SERVICE_PORT=3306 \
    -e MYSQL_SERVICE_DB_NAME=nacos \
    -e MYSQL_SERVICE_USER=root \
    -e MYSQL_SERVICE_PASSWORD=root \
    nacos/nacos-server:v2.1.1
    

    唯一需要注意的是:MYSQL_SERVICE_HOST 一定要设置为主机的IP地址,因为是不同容器(nacos 和 mysql)间的连接,所以一定不能用 localhost

  4. 进入监管界面 http://localhost:8848/nacos

    用初始账户密码均为 nacos 登录即可

2. 参考资料

nacos官网

Nacos 快速开始

https://github.com/alibaba/nacos

我的文章:《Docker 设置国内镜像源.md》

我的文章:《Docker 快速入门实用教程.md》

我的文章:《如何查看一个 Docker 镜像有哪些版本.md》


传送门:保姆式Spring5源码解析

欢迎与作者一起交流技术和工作生活

联系作者

你可能感兴趣的:(Docker,docker)