1 参考
参考1:docker 安装nacos v2.1.2
参考2:Docker:docker部署Nacos2.1.2(单例与集群)并配置自定义Mysql
2 Nacos版本
docker
在拉取nacos
时,最好不要选择最新的,因为最新的可能会不太稳定。本文拉取的是 docker pull nacos/nacos-server:v2.1.1
,如果此版本很慢,就选择最新版本的吧。
nacos
客户端升级为2.x
版本后,新增了gRPC
的通信方式,新增了两个端口。这两个端口在nacos
的旧版本中映射在原先的端口上(默认8848
),然后进行一定偏移量自动生成的。
端口 | 与主端口的偏移量 | 描述 |
---|---|---|
9848 | 1000 | 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求 |
9849 | 1001 | 服务端gRPC请求服务端端口,用于服务间同步等 |
2.1 访问地址
Docker启动后需要过一会儿才能正常访问。
地址:xxx:8848/nacos
账号:nacos
密码:nacos
3 Docker部署Nacos【非数据库】
docker run --name nacos-quick -e MODE=standalone -p 8848:8848 -p 9848:9848 -p 9849:9849 -d nacos/nacos-server:v2.1.1
4 Docker部署Nacos【数据库】
4.1 数据库表
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
2. 如果在线的访问不到,可以直接使用下面的sql,也是来源于1的:
/\*
\* 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(128) DEFAULT NULL,
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt\_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt\_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' 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,
`encrypted\_data\_key` text NOT NULL COMMENT '秘钥',
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(128) 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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt\_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
`src\_user` text COMMENT 'source user',
`src\_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
`tenant\_id` varchar(128) DEFAULT '' COMMENT '租户字段',
`encrypted\_data\_key` text NOT NULL 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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt\_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
`src\_user` text COMMENT 'source user',
`src\_ip` varchar(20) 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 '2010-05-05 00:00:00' COMMENT '创建时间',
`gmt\_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' 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 '2010-05-05 00:00:00',
`gmt\_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
`src\_user` text,
`src\_ip` varchar(20) DEFAULT NULL,
`op\_type` char(10) DEFAULT NULL,
`tenant\_id` varchar(128) DEFAULT '' COMMENT '租户字段',
`encrypted\_data\_key` text NOT NULL 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 '2010-05-05 00:00:00' COMMENT '创建时间',