使用 Docker 部署 Nacos 并配置 MySQL 数据源

要使用Docker部署Nacos并配置MySQL数据源,你需要执行以下步骤:

  1. 准备Nacos的Docker镜像。
  2. 准备MySQL数据库和相应的表。
  3. 配置Nacos连接MySQL数据源。
  4. 运行Nacos的Docker容器。

以下是具体的操作步骤和示例配置:

  1. 准备Dockerfile(如果有现成的官方镜像,可以跳过这一步)。
  2. 准备MySQL数据库和表。



CREATE DATABASE nacos_config;
 
USE nacos_config;
 
CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT '内容',
  `md5` varchar(32) DEFAULT NULL COMMENT 'MD5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT '源用户名',
  `src_ip` varchar(20) DEFAULT NULL COMMENT '来源IP',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='配置信息';
  1. 配置Nacos连接MySQL数据源。

在Nacos的配置文件中(比如application.properties),添加MySQL数据源配置:




spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://[MySQL_HOST]:[MySQL_PORT]/[DATABASE_NAME]?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

替换[MySQL_HOST][MySQL_PORT][DATABASE_NAME]为你的MySQL服务的主机地址、端口和数据库名。

  1. 运行Nacos的Docker容器。



docker run -d \
  -e MODE=standalone \
  -e SPRING_DATASOURCE_PLATFORM=mysql \
  -e MYSQL_SERVICE_HOST=[MySQL_HOST] \
  -e MYSQL_SERVICE_DB_NAME=[DATABASE_NAME] \
  -e MYSQL_SERVICE_PORT=[MySQL_PORT] \
  -e MYSQL_SERVICE_USER=[MySQL_USER] \
  -e MYSQL_SERVICE_PASSWORD=[MySQL_PASSWORD] \
  -p 8848:8848 \
  --name nacos \
  nacos/nacos-server

替换相应的环境变量为你的配置。

以上步骤和代码示例提供了一个简化的方案,实际部署时可能需要根据具体环境进行调整。

最后修改于:2024年08月17日 09:52

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日