记录下使用docker-compose安装nacos的过程,nacos版本2.0.2, Mysql数据库为5.8版本,是本地电脑的数据库,没有使用docker版本.项目结果如下:

1 创建nacos需要的数据库表

数据库脚本可以从nacos仓库下载,这里贴出我使用的对应的nacos版本是 2.0.2

/** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**      http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*//******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
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 'content',`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 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source 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='config_info';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(255) NOT NULL COMMENT 'group_id',`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',`content` longtext NOT NULL COMMENT '内容',`gmt_modified` datetime NOT NULL COMMENT '修改时间',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',`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 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`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 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (`id` bigint(20) NOT NULL COMMENT 'id',`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`nid` bigint(20) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`nid`),UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (`id` bigint(64) unsigned NOT NULL,`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`data_id` varchar(255) NOT NULL,`group_id` varchar(128) NOT NULL,`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL,`md5` varchar(32) DEFAULT NULL,`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`src_user` text,`src_ip` varchar(50) DEFAULT NULL,`op_type` char(10) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`nid`),KEY `idx_gmt_create` (`gmt_create`),KEY `idx_gmt_modified` (`gmt_modified`),KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';CREATE TABLE `tenant_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`kp` varchar(128) NOT NULL COMMENT 'kp',`tenant_id` varchar(128) default '' COMMENT 'tenant_id',`tenant_name` varchar(128) default '' COMMENT 'tenant_name',`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATE TABLE `users` (`username` varchar(50) NOT NULL PRIMARY KEY,`password` varchar(500) NOT NULL,`enabled` boolean NOT NULL
);CREATE TABLE `roles` (`username` varchar(50) NOT NULL,`role` varchar(50) NOT NULL,UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);CREATE TABLE `permissions` (`role` varchar(50) NOT NULL,`resource` varchar(255) NOT NULL,`action` varchar(8) NOT NULL,UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

2 授权用户远程连接数据库

我本地电脑使用的数据库版本是

mysql  Ver 8.0.23 for Win64 on x86_64 (MySQL Community Server - GPL)

  远程授权与 mysql 5.7 有差异,这里需要特别注意,授权过程如下

  1. 创建远程连接用户
  2. 授权远程访问
create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;

通过如下语句查看授权结果:

use mysql;
select host, user, authentication_string, plugin from user; 

3 编写docker-compose.yml 文件

version: '3.3'
services:nacos-server:image: 'nacos/nacos-server:2.0.2'container_name: nacos-server-2.0.2# network_mode:'bridge'environment: PREFER_HOST_MODE: hostnameMODE: standaloneSPRING_DATASOURCE_PLATFORM: mysqlMYSQL_SERVICE_HOST: 172.24.208.1MYSQL_SERVICE_DB_NAME: nacosMYSQL_SERVICE_PORT: 3306MYSQL_SERVICE_USER: rootMYSQL_SERVICE_PASSWORD: 123456MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true# env_file:#     - ../env/nacos-standlone-mysql.envrestart: on-failurevolumes: - ./logs/:/home/nacos/logs- ./init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- "8848:8848"- "9848:9848"- "9555:9555"# depends_on:#     - mysql5.7
#  监控部分
#  prometheus:
#    container_name: prometheus
#    image: prom/prometheus:latest
#    volumes:
#      - ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
#    ports:
#      - "9090:9090"
#    depends_on:
#      - nacos
#    restart: on-failure
#  grafana:
#    container_name: grafana
#    image: grafana/grafana:latest
#    ports:
#      - 3000:3000
#    restart: on-failure

这里有两点需要注意:

  1. MYSQL_SERVICE_HOST : 这个ip地址是本地电脑创建docker容器时,使用的虚拟网卡地址,windows系统下通过 ipconfig命令查看,linux系统通过 ifconfig 命令查看
  2. MYSQL_SERVICE_DB_PARAM : 8.0版本的Mysql 可能需要加入参数 allowPublicKeyRetrieval=true ,否则nacos日志报错:Public Key Retrieval is not allowed,报错原因参考: https://blog.csdn.net/u013360850/article/details/80373604

4 执行docker-compose.yml

进入docker-compose.yml文件所在目录,执行下面的命令

docker-compose up

容器启动日志可打开 logs/nacos.log 文件查看,比如数据库连接异常的信息都能查看到,正常启动的日志如下:

打开浏览器,访问nacos控制台

http://localhost:8848/nacos/index.html

至此,单机板的nacos安装完成.

nacos官网,提供了docker-compose安装 nacos+mysql的示例,nacos和mysql均使用docker容器安装,我这里使用 docker的nacos + 本地Mysql 安装~

docker部署nacos单机版相关推荐

  1. nacos 单机部署_使用Docker部署Nacos-Server(单机版)

    环境: Docker 19.03.1 . CentOS 7.6 方式一 仅部署nacos-server,不使用prometheus/grafana等监控组件 1.拉取镜像 docker pull na ...

  2. 单机启动nacos_dockercompose部署nacos单机版(简洁优化版)

    预览 初始化数据库 放到可视化工具或者命令行执行以下,目的是 初始化数据库 docker-compose 启动 nacos 单机版 docker-compose.yml # 启动命令 # docker ...

  3. docker部署nacos集群

    前言:最近在做毕设项目,由于是基于微服务的,所以逃不开部署nacos这个服务注册及配置中心,为了方便以后的项目部署,顺便就把nacos集群做了. 一.准备阶段 首先要在云服务器或者虚拟机下安装dock ...

  4. 【alibaba cloud】在macM1上用docker部署nacos集群

    前提环境 Docker Desktop 组件搭建 Nacos 环境部署(单机) 先从git上克隆nacos-docker的docker-compose的yml文件 git clone https:// ...

  5. Docker部署Redis单机版

    1. 拉取镜像 docker pull redis:latest 2. 创建挂载目录 mkdir -r /home/egn/redis/conf mkdir -r /home/egn/redis/da ...

  6. docker部署 单机版nacos

    文章目录 一.简介 1.1 nacos简介 1.2 相关链接 二.环境准备 2.1 基础环境部署 2.2 下载SQL文件 2.3 创建数据和配置存放目录 三.安装nacos 3.1 运行nacos 3 ...

  7. docker 安装部署nacos

    docker 安装nacos pull镜像 配置mysql 挂载运行 单机nacos部署.考虑到nacos比较耗费性能,使用docker部署学习. pull镜像 1.3.1 是github上说明的稳定 ...

  8. Java单机部署,Nacos docker单机模式部署实现过程详解

    Nacos 的部署,我使用的时docker 部署(单机模式 mysql),官网文档:https://nacos.io/zh-cn/docs/quick-start-docker.html 拉取代码: ...

  9. Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos

    Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos 前言 一.Docker中安装配置Nacos 安装Docker 拉取Nacos镜像 启动 ...

最新文章

  1. 硬盘运行时断电会导致硬盘怎样
  2. SGI重获新生 有望下月摆脱破产保护
  3. when is oData transaction data request sent for an xml view binding case
  4. python采用函数编程模式_浅谈Python 函数式编程
  5. Linux第一条指令地址,arm-linux 启动代码分析——stage1 (1)
  6. spring mvc学习(26):处理数据模型--从表单到controller传输数据
  7. win8关机快捷键_关机这么简单的电脑操作,大家了解吗?
  8. Hadoop 高可用集群(HA)
  9. 安卓交换位置动画_好马配好鞍,OriginOS系统让安卓系统大变样
  10. preg_match
  11. 计算机应用基础实训教程视频,计算机应用基础与实训教程第7章.ppt
  12. Python验证码识别处理实例
  13. centos php solr 安装,centos下安装配置solr全纪录
  14. Android Studio 写个单元测试用例,就是这么方便
  15. ubuntu16.04 更新pip
  16. vbm 分析_vbm处理流程--VBM学习汇总
  17. 【视频编码】1080P、720P、4CIF、CIF所需要的理论带宽
  18. 新发现几个百度网盘/阿里云盘搜索资源站,还能查询网盘提取码
  19. 程序员必备75道逻辑思维题(附答案)之五
  20. ArcGIS Server 发布地图服务遇到的问题

热门文章

  1. mysql 审核引擎 goInception 的基本使用
  2. js DOM之基础详解
  3. 更改远程桌面使用的默认端口
  4. 活动目录环境下 临时让End user提升权限安装应用软件
  5. 文化创意企业纷纷跨界融合,软件资产管理奠定安全基础
  6. HDU 6090 Rikka with Graph
  7. 阿里云linux下修改mysql默认密码(xampp环境)- 原创
  8. 实体框架高级应用之动态过滤 EntityFramework DynamicFilters
  9. Java Eclipse解决中文字体太小
  10. Blend4精选案例图解教程(三):一键拖拽