docker安装nacos 1.x版本
docker安装nacos
-
拉取版本对应镜像
docker pull nacos/nacos-server:1.4.2
-
创建配置文件
vim /usr/local/nacos/init.d/custom.properties
-
修改配置文件
server.contextPath=/nacos server.servlet.contextPath=/nacos server.port=8848 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=user db.password=pass nacos.cmdb.dumpTaskInterval=3600 nacos.cmdb.eventTaskInterval=10 nacos.cmdb.labelTaskInterval=300 nacos.cmdb.loadDataAtStart=false management.metrics.export.elastic.enabled=false management.metrics.export.influx.enabled=false server.tomcat.accesslog.enabled=true server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/** nacos.naming.distro.taskDispatchThreadCount=1 nacos.naming.distro.taskDispatchPeriod=200 nacos.naming.distro.batchSyncKeyCount=1000 nacos.naming.distro.initDataRatio=0.9 nacos.naming.distro.syncRetryDelay=5000 nacos.naming.data.warmup=true nacos.naming.expireInstance=true
-
在nacos官网拿到对应版本的mysql数据库建表语句,这里用的是1.x版本的
/* * 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 "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, 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 "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 "租户字段", 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 "租户字段", 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) ); CREATE TABLE permissions ( role varchar(50) NOT NULL, resource varchar(512) NOT NULL, action varchar(8) NOT NULL, constraint uk_role_permission UNIQUE (role,resource,action) ); INSERT INTO users (username, password, enabled) VALUES ("nacos", "$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu", TRUE); INSERT INTO roles (username, role) VALUES ("nacos", "ROLE_ADMIN");
-
启动容器
docker run --name nacos -d -p 8848:8848 --privileged=true --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /usr/local/nacos/logs:/home/nacos/logs -v /usr/local/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties nacos/nacos-server:1.4.2