Docker下Nacos持久化配置,怒肝三个月啃完这110道面试题

  1. 此sql用于创建nacos server运行所需的表和数据,去下载nacos server安装包,地址是:https://github.com/alibaba/nacos/releases/download/1.1.0/nacos-server-1.1.0.tar.gz ;

  2. 下载的安装包解压后,文件nacos/conf/nacos-mysql.sql就是我们所需的sql脚本;

  3. 打开此脚本,可见内容中没有创建数据库,这样的脚本在mysql的docker容器内无法自动执行,需要在sql文件的开始位置添加以下内容:

CREATE DATABASE nacos_config;

use nacos_config;

  1. 将文件nacos-mysql.sql放在docker-compose.yml所在目录下;

docker-compose.yml中增加mysql

接下来在容器编排文件docker-compose.yml中增加mysql容器:

  1. 在docker-compose.yml中增加mysql容器,新增的mysql编排信息放在最前面,内容如下:

mysql:

image: mysql:5.7.27

container_name: mysql

restart: unless-stopped

volumes:

  • ./nacos-mysql.sql:/docker-entrypoint-initdb.d/nacos-mysql.sql

  • ./mysqldata:/var/lib/mysql

command: --default-authentication-plugin=mysql_native_password

environment:

MYSQL_ROOT_PASSWORD: 123456

上述内容有几处需要注意:

a. 第一个volumes参数将宿主机的nacos-mysql.sql映射到容器的/docker-entrypoint-initdb.d/目录,mysql容器启动时会执行这个目录下的所有以sh和sql结尾的文件;

b. 第二个volumes参数将docker-compose.yml文件所在位置的mysqldata目录映射到容器的/var/lib/mysql目录,这样数据库所有数据都保存在宿主机上了,此mysqldata文件夹容器启动时自动创建;

c. command参数设置了mysql的鉴权方式是密码方式;

d. 环境变量MYSQL_ROOT_PASSWORD设置了mysql的root密码为123456;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值