Docker安装使用Nacos_docker安装nacos不使用数据库

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),然后进行一定偏移量自动生成的。

端口与主端口的偏移量描述
98481000客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
98491001服务端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 数据库表

  1. 在线查看数据表
    https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql

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 '创建时间',
  `gmt\_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' 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,
	constraint uk_username_role UNIQUE (username,role)
);

安装使用Nacos作为配置中心,你可以按照以下步骤进行操作: 1. 下载Nacos:首先,你需要从Nacos的官方网站(https://github.com/alibaba/nacos/releases)下载适合你的版本。你可以选择下载Nacos的服务器端或者使用Docker容器运行。 2. 启动Nacos服务器:如果你下载了服务器端,解压缩下载的文件并进入解压后的目录。然后,执行以下命令启动Nacos服务器: ```shell sh startup.sh -m standalone ``` 这将启动一个独立的Nacos服务器实例。 3. 访问Nacos控制台:在浏览器中访问 http://localhost:8848/nacos,这是Nacos服务器的默认访问地址。你将看到Nacos控制台的登录页面。 4. 登录Nacos控制台:默认情况下,Nacos没有启用身份验证,因此你可以直接点击登录按钮登录到控制台。 5. 创建命名空间:在控制台中,你可以创建一个命名空间来组织和管理配置。点击左侧导航栏中的“命名空间”选项,然后点击“新建命名空间”按钮来创建一个新的命名空间。 6. 创建配置:在控制台中,点击左侧导航栏中的“配置管理”选项,后点击“新建配置”按钮来创建一个新的配置。在弹出的对话框中,填写配置的相关信息,如配置的Data ID、Group、配置内容等。 7. 获取配置:你可以使用Nacos提供的客户端SDK来获取配置。根据你选择的编程语言,引入相应的SDK,并使用SDK提供的API来获取配置。 以上是基本的Nacos安装使用步骤。你可以根据实际需求进一步了解Nacos的高级功能和配置。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值