【docker】nacos 使用学习
=============================================================
1、安装
2、启动容器
3、进入容器修改配置
4、导入数据库表
=============================================================
参考文档
https://github.com/nacos-group/nacos-docker/blob/master/README_ZH.md
1、安装
https://hub.docker.com/r/nacos/nacos-server
docker pull nacos/nacos-server
2、启动容器
docker run -d -p 8848:8848 -e MODE=standalone --name nacos nacos/nacos-server:latest
docker run -d --name nacos -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=192.168.211.128 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -p 8848:8848 nacos/nacos-server:latest
docker run -d --name nacos --env MODE=standalone --env SPRING_DATASOURCE_PLATFORM=mysql --env MYSQL_SERVICE_HOST=192.168.211.128 --env MYSQL_SERVICE_PORT=3306 --env MYSQL_SERVICE_DB_NAME=nacos_config --env MYSQL_SERVICE_USER=root --env MYSQL_SERVICE_PASSWORD=123456 --env NACOS_DEBUG=n -p 8848:8848 nacos/nacos-server
3、进入容器修改配置
docker exec -it nacos bash
vim /home/nacos/conf/application.properties
db.url.0 #主数据库连接
db.url.1 #从数据库连接
db.user #数据用户名
db.password #数据库密码
测试用的,所以没有设置主从数据库,注释了db.url.1
http://192.168.211.128:8848/nacos/index.html
4、导入数据库表
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
1 /******************************************/ 2 /* 数据库全名 = nacos_config */ 3 /******************************************/ 4 create database nacos_config; 5 6 7 8 /******************************************/ 9 /* 数据库全名 = nacos_config */ 10 /* 表名称 = config_info */ 11 /******************************************/ 12 CREATE TABLE `config_info` ( 13 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘id‘, 14 `data_id` varchar(255) NOT NULL COMMENT ‘data_id‘, 15 `group_id` varchar(255) DEFAULT NULL, 16 `content` longtext NOT NULL COMMENT ‘content‘, 17 `md5` varchar(32) DEFAULT NULL COMMENT ‘md5‘, 18 `gmt_create` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘创建时间‘, 19 `gmt_modified` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘修改时间‘, 20 `src_user` text COMMENT ‘source user‘, 21 `src_ip` varchar(20) DEFAULT NULL COMMENT ‘source ip‘, 22 `app_name` varchar(128) DEFAULT NULL, 23 `tenant_id` varchar(128) DEFAULT ‘‘ COMMENT ‘租户字段‘, 24 `c_desc` varchar(256) DEFAULT NULL, 25 `c_use` varchar(64) DEFAULT NULL, 26 `effect` varchar(64) DEFAULT NULL, 27 `type` varchar(64) DEFAULT NULL, 28 `c_schema` text, 29 PRIMARY KEY (`id`), 30 UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) 31 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘config_info‘; 32 33 /******************************************/ 34 /* 数据库全名 = nacos_config */ 35 /* 表名称 = config_info_aggr */ 36 /******************************************/ 37 CREATE TABLE `config_info_aggr` ( 38 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘id‘, 39 `data_id` varchar(255) NOT NULL COMMENT ‘data_id‘, 40 `group_id` varchar(255) NOT NULL COMMENT ‘group_id‘, 41 `datum_id` varchar(255) NOT NULL COMMENT ‘datum_id‘, 42 `content` longtext NOT NULL COMMENT ‘内容‘, 43 `gmt_modified` datetime NOT NULL COMMENT ‘修改时间‘, 44 `app_name` varchar(128) DEFAULT NULL, 45 `tenant_id` varchar(128) DEFAULT ‘‘ COMMENT ‘租户字段‘, 46 PRIMARY KEY (`id`), 47 UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`) 48 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘增加租户字段‘; 49 50 51 /******************************************/ 52 /* 数据库全名 = nacos_config */ 53 /* 表名称 = config_info_beta */ 54 /******************************************/ 55 CREATE TABLE `config_info_beta` ( 56 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘id‘, 57 `data_id` varchar(255) NOT NULL COMMENT ‘data_id‘, 58 `group_id` varchar(128) NOT NULL COMMENT ‘group_id‘, 59 `app_name` varchar(128) DEFAULT NULL COMMENT ‘app_name‘, 60 `content` longtext NOT NULL COMMENT ‘content‘, 61 `beta_ips` varchar(1024) DEFAULT NULL COMMENT ‘betaIps‘, 62 `md5` varchar(32) DEFAULT NULL COMMENT ‘md5‘, 63 `gmt_create` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘创建时间‘, 64 `gmt_modified` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘修改时间‘, 65 `src_user` text COMMENT ‘source user‘, 66 `src_ip` varchar(20) DEFAULT NULL COMMENT ‘source ip‘, 67 `tenant_id` varchar(128) DEFAULT ‘‘ COMMENT ‘租户字段‘, 68 PRIMARY KEY (`id`), 69 UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) 70 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘config_info_beta‘; 71 72 /******************************************/ 73 /* 数据库全名 = nacos_config */ 74 /* 表名称 = config_info_tag */ 75 /******************************************/ 76 CREATE TABLE `config_info_tag` ( 77 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘id‘, 78 `data_id` varchar(255) NOT NULL COMMENT ‘data_id‘, 79 `group_id` varchar(128) NOT NULL COMMENT ‘group_id‘, 80 `tenant_id` varchar(128) DEFAULT ‘‘ COMMENT ‘tenant_id‘, 81 `tag_id` varchar(128) NOT NULL COMMENT ‘tag_id‘, 82 `app_name` varchar(128) DEFAULT NULL COMMENT ‘app_name‘, 83 `content` longtext NOT NULL COMMENT ‘content‘, 84 `md5` varchar(32) DEFAULT NULL COMMENT ‘md5‘, 85 `gmt_create` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘创建时间‘, 86 `gmt_modified` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘修改时间‘, 87 `src_user` text COMMENT ‘source user‘, 88 `src_ip` varchar(20) DEFAULT NULL COMMENT ‘source ip‘, 89 PRIMARY KEY (`id`), 90 UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`) 91 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘config_info_tag‘; 92 93 /******************************************/ 94 /* 数据库全名 = nacos_config */ 95 /* 表名称 = config_tags_relation */ 96 /******************************************/ 97 CREATE TABLE `config_tags_relation` ( 98 `id` bigint(20) NOT NULL COMMENT ‘id‘, 99 `tag_name` varchar(128) NOT NULL COMMENT ‘tag_name‘, 100 `tag_type` varchar(64) DEFAULT NULL COMMENT ‘tag_type‘, 101 `data_id` varchar(255) NOT NULL COMMENT ‘data_id‘, 102 `group_id` varchar(128) NOT NULL COMMENT ‘group_id‘, 103 `tenant_id` varchar(128) DEFAULT ‘‘ COMMENT ‘tenant_id‘, 104 `nid` bigint(20) NOT NULL AUTO_INCREMENT, 105 PRIMARY KEY (`nid`), 106 UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), 107 KEY `idx_tenant_id` (`tenant_id`) 108 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘config_tag_relation‘; 109 110 /******************************************/ 111 /* 数据库全名 = nacos_config */ 112 /* 表名称 = group_capacity */ 113 /******************************************/ 114 CREATE TABLE `group_capacity` ( 115 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘主键ID‘, 116 `group_id` varchar(128) NOT NULL DEFAULT ‘‘ COMMENT ‘Group ID,空字符表示整个集群‘, 117 `quota` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘配额,0表示使用默认值‘, 118 `usage` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘使用量‘, 119 `max_size` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘单个配置大小上限,单位为字节,0表示使用默认值‘, 120 `max_aggr_count` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘聚合子配置最大个数,,0表示使用默认值‘, 121 `max_aggr_size` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值‘, 122 `max_history_count` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘最大变更历史数量‘, 123 `gmt_create` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘创建时间‘, 124 `gmt_modified` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘修改时间‘, 125 PRIMARY KEY (`id`), 126 UNIQUE KEY `uk_group_id` (`group_id`) 127 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘集群、各Group容量信息表‘; 128 129 /******************************************/ 130 /* 数据库全名 = nacos_config */ 131 /* 表名称 = his_config_info */ 132 /******************************************/ 133 CREATE TABLE `his_config_info` ( 134 `id` bigint(64) unsigned NOT NULL, 135 `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 136 `data_id` varchar(255) NOT NULL, 137 `group_id` varchar(128) NOT NULL, 138 `app_name` varchar(128) DEFAULT NULL COMMENT ‘app_name‘, 139 `content` longtext NOT NULL, 140 `md5` varchar(32) DEFAULT NULL, 141 `gmt_create` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘, 142 `gmt_modified` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘, 143 `src_user` text, 144 `src_ip` varchar(20) DEFAULT NULL, 145 `op_type` char(10) DEFAULT NULL, 146 `tenant_id` varchar(128) DEFAULT ‘‘ COMMENT ‘租户字段‘, 147 PRIMARY KEY (`nid`), 148 KEY `idx_gmt_create` (`gmt_create`), 149 KEY `idx_gmt_modified` (`gmt_modified`), 150 KEY `idx_did` (`data_id`) 151 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘多租户改造‘; 152 153 154 /******************************************/ 155 /* 数据库全名 = nacos_config */ 156 /* 表名称 = tenant_capacity */ 157 /******************************************/ 158 CREATE TABLE `tenant_capacity` ( 159 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘主键ID‘, 160 `tenant_id` varchar(128) NOT NULL DEFAULT ‘‘ COMMENT ‘Tenant ID‘, 161 `quota` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘配额,0表示使用默认值‘, 162 `usage` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘使用量‘, 163 `max_size` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘单个配置大小上限,单位为字节,0表示使用默认值‘, 164 `max_aggr_count` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘聚合子配置最大个数‘, 165 `max_aggr_size` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值‘, 166 `max_history_count` int(10) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘最大变更历史数量‘, 167 `gmt_create` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘创建时间‘, 168 `gmt_modified` datetime NOT NULL DEFAULT ‘2010-05-05 00:00:00‘ COMMENT ‘修改时间‘, 169 PRIMARY KEY (`id`), 170 UNIQUE KEY `uk_tenant_id` (`tenant_id`) 171 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘租户容量信息表‘; 172 173 174 CREATE TABLE `tenant_info` ( 175 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘id‘, 176 `kp` varchar(128) NOT NULL COMMENT ‘kp‘, 177 `tenant_id` varchar(128) default ‘‘ COMMENT ‘tenant_id‘, 178 `tenant_name` varchar(128) default ‘‘ COMMENT ‘tenant_name‘, 179 `tenant_desc` varchar(256) DEFAULT NULL COMMENT ‘tenant_desc‘, 180 `create_source` varchar(32) DEFAULT NULL COMMENT ‘create_source‘, 181 `gmt_create` bigint(20) NOT NULL COMMENT ‘创建时间‘, 182 `gmt_modified` bigint(20) NOT NULL COMMENT ‘修改时间‘, 183 PRIMARY KEY (`id`), 184 UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`), 185 KEY `idx_tenant_id` (`tenant_id`) 186 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘tenant_info‘; 187 188 CREATE TABLE users ( 189 username varchar(50) NOT NULL PRIMARY KEY, 190 password varchar(500) NOT NULL, 191 enabled boolean NOT NULL 192 ); 193 194 CREATE TABLE roles ( 195 username varchar(50) NOT NULL, 196 role varchar(50) NOT NULL, 197 constraint uk_username_role UNIQUE (username,role) 198 ); 199 200 CREATE TABLE permissions ( 201 role varchar(50) NOT NULL, 202 resource varchar(512) NOT NULL, 203 action varchar(8) NOT NULL, 204 constraint uk_role_permission UNIQUE (role,resource,action) 205 ); 206 207 INSERT INTO users (username, password, enabled) VALUES (‘nacos‘, ‘$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu‘, TRUE); 208 209 INSERT INTO roles (username, role) VALUES (‘nacos‘, ‘ROLE_ADMIN‘);
原文:https://www.cnblogs.com/yangchongxing/p/13127191.html