nacos在docker下standalone配置本地mysql

nacos在docker下standalone模式配置本地mysql

写在前面

配置方式分为好几种,如果服务器没有安装mysql并且也不介意把mysql安装在docker的,可以直接参照官网教程

https://nacos.io/zh-cn/docs/quick-start-docker.html,

可以参照后面的步骤将mysql密码等换了

详细步骤

第一步 配置mysql

  1. 安装mysql

    nacos从1.3.1已经将mysql-connector的jar版本换成8.x了,所以支持mysql8.x,只是需要稍许配置,安装mysql,教程参照百度或谷歌,可以安装在本地也可以安装在docker,但要分清mysql在 ‘username’@‘%’ 和‘username’@‘localhost’的密码,不然会毫无意义的反复安装nacos好几个小时。。。

    mysql安装完成并通过测试后,可以进入下一步。

  2. 配置数据库

    • 创建一个名为nacos_config的数据库

    • use nacos_config;
      
    • 运行该脚本 :https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql

第二步 拷贝并配置nacos项目

使用前确保服务器已经安装docker并能使用docker-compose命令

  1. 拷贝项目
git clone https://github.com/nacos-group/nacos-docker.git
  1. 进入项目
cd nacos-server
  1. 配置信息
  • 目录如下

    image-20201026161904268

    • build中是项目的具体文件,代码等
    • env中是环境文件,具体的环境配置就在这里
    • example中是官方的一些默认的yaml文件,在使用docker-compose中会用到
  • 进入 example

    cd example
    
  • 目录如下

    image-20201026162636798

    如果是mysql5.7的,就选择standalone-mysql-5.7.yaml,如果是8以上的,就选择standalone-mysql-8.yaml

    vim standalone-mysql-8.yaml
    

    应当能看到如下图的代码

    image-20201026163041406

  • 由于我们已经提前部署好了mysql,并不需要docker在运行nacos的时候再下一个MySQL,所有直接把depends_on和后面的所有代码全部注释,当然如果想让它自动重启,可以不注释 restart: always

  • env_file下指向的文件就是待会启动时,standalone-mysql-8.yaml所引用的环境文件,待会也要修改那个文件。

  • volumes下的两个文件就是配置目录挂载,如果熟悉docker的话,也可以换个地方挂载,当然custom.properties文件要拷过去

  • 检查prots,看是否需要修改端口和映射到实体机的端口

  1. 修改env_file
  • 在上面提示到的文件下进入上级目录的env下

  • vim nacos-standlone-mysql.env
    

    image-20201026164648372

  • 将host、DB_NAME和端口、用户名密码等改成自己的(涂白的部分)

  1. 运行

    cd ../example
    docker-compose -f ./standalone-mysql-8.yaml up &
    
  2. 浏览器打开ip:8848/nacos,即可查看

写在最后

需要注意的是,当然也可以直接用docker run的模式来,如果还有其他的配置,也可以参考https://github.com/nacos-group/nacos-docker/blob/master/README_ZH.md在相应的地方添加配置。

追加docker run模式

  1. 拉取镜像
    docker pull nacos/nacos-server:latest
  2. 输入命令
    docker run --env MODE=standalone
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_SERVICE_HOST=yourhost
    -e MYSQL_SERVICE_PORT=3306
    -e MYSQL_SERVICE_DB_NAME=nacos_config
    -e MYSQL_SERVICE_USER=root
    -e MYSQL_SERVICE_PASSWORD=‘root@yourPassword’
    -e MYSQL_SERVICE_DB_PARAM=“characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai” -e
    JVM_XMS=512m -e JVM_XMX=512m -e JAM_XMN=256m --name nacos -d -p 8848:8848 nacos/nacos-server

ps: 之所以使用了单双引号是因为密码和连接mysql的连接参数中有特殊字符,当然也可以根本就不指定数据库,但是好像有什么影响还没研究过,数据库请参照上述第一步配置

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值