使用Docker完成Nacos集群部署

本文介绍了如何在CentOS7.5上使用Docker部署Nacos集群,并通过Nginx进行反向代理。首先拉取Nacos镜像,然后配置数据库,接着创建并启动多个Nacos容器,最后利用Nginx进行负载均衡,实现对Nacos集群的访问。
摘要由CSDN通过智能技术生成

前言
距离上一篇文章已经过去挺久的了,因为笔者前段时间去长沙玩了一阵子233。
那么言归正传,上次笔者展示了如何在Windows安装和部署了Nacos1.3.1,这次打算将其使用Docker部署到虚拟机上,笔者使用的系统是CentOS7.5,Docker的安装在此处不再赘述。

Nacos镜像拉取

确保docker安装完成并成功运行之后执行如下指令:

docker pull nacos/nacos-server

小贴士:笔者在使用腾讯云服务器拉取镜像时速度很慢,更换了中科大和网易的镜像源问题仍没有解决,最终使用腾讯自带的镜像源https:mirror.ccs.tencentyun.com后下载速度起飞。
成功拉取镜像后使用image指令发现确实有该镜像(笔者写下此文时Nacos版本为1.3.2
nacos镜像拉取完成

数据库的配置

众所周知,Nacos集群需要连接主从部署的MySQL数据库,为了方便笔者在这里未使用主从部署MySQL数据库。在过去Nacos并不支持MySQL8.0+,而最近的更新让Nacos支持了MySQL8.0+,在这里笔者使用了Docker部署了版本为8.0.20的MySQL,使用SQLYog连接上MySQL数据库,在,数据库中新建一个名为nacos的数据库,使用Nacos自带的sql文件创建相应的表结构(对此处有疑问的可以查看本人的前一篇博客,有详细的讲解),在这里贴上1.3.2的nacos-mysql.sql文件内容:

/*
 * 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(20) 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`,
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值