Implementation of nacos1.3.0 built with docker

Implementation of nacos1.3.0 built with docker

1. Resume nacos database Database name nacos_config User name and password nacos nacos

Database scripts:

/**********************************************/
/* Database full name = nacos_config */
/* Table name = 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 'Creation time',
 `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT 'Modification time',
 `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 'Tenant field',
 `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';

/**********************************************/
/* Database full name = nacos_config */
/* Table name = 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 'content',
 `gmt_modified` datetime NOT NULL COMMENT 'Modification time',
 `app_name` varchar(128) DEFAULT NULL,
 `tenant_id` varchar(128) DEFAULT '' COMMENT 'Tenant field',
 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='Add tenant field';


/**********************************************/
/* Database full name = nacos_config */
/* Table name = 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 'Creation time',
 `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT 'Modification time',
 `src_user` text COMMENT 'source user',
 `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
 `tenant_id` varchar(128) DEFAULT '' COMMENT 'Tenant field',
 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';

/**********************************************/
/* Database full name = nacos_config */
/* Table name = 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 'Creation time',
 `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT 'Modification time',
 `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';

/**********************************************/
/* Database full name = nacos_config */
/* Table name = 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';

/**********************************************/
/* Database full name = nacos_config */
/* Table name = group_capacity */
/**********************************************/
CREATE TABLE `group_capacity` (
 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key ID',
 `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID, empty string indicates the entire cluster',
 `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Quota, 0 means use the default value',
 `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'usage',
 `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'The upper limit of a single configuration size, in bytes, 0 means use the default value',
 `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'The maximum number of aggregate sub-configurations, 0 means using the default value',
 `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'The upper limit of the sub-configuration size of a single aggregate data, in bytes, 0 means using the default value',
 `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Maximum number of change history',
 `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT 'Creation time',
 `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT 'Modification time',
 PRIMARY KEY (`id`),
 UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Cluster and Group capacity information table';

/**********************************************/
/* Database full name = nacos_config */
/* Table name = 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 'Tenant field',
 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='Multi-tenant transformation';


/**********************************************/
/* Database full name = nacos_config */
/* Table name = tenant_capacity */
/**********************************************/
CREATE TABLE `tenant_capacity` (
 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key ID',
 `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
 `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Quota, 0 means use the default value',
 `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'usage',
 `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'The upper limit of a single configuration size, in bytes, 0 means use the default value',
 `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Maximum number of aggregate sub-configurations',
 `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'The upper limit of the sub-configuration size of a single aggregate data, in bytes, 0 means using the default value',
 `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Maximum number of change history',
 `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT 'Creation time',
 `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT 'Modification time',
 PRIMARY KEY (`id`),
 UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Tenant capacity information table';


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 'Creation time',
 `gmt_modified` bigint(20) NOT NULL COMMENT 'Modification time',
 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
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

2. Execute the following docker command

docker run -d \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_MASTER_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=mysql username\
-e MYSQL_SERVICE_PASSWORD=mysql password\
-e MYSQL_SERVICE_HOST=mysql's ip \
-e MYSQL_SERVICE_DB_NAME=database name of the link\
-v The address where your server stores log files: /home/nacos/logs \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server:1.3.0

Example:

docker run -d \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_MASTER_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_HOST=172.17.0.1 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e SERVER_SERVLET_CONTEXTPATH=/ \
-v /usr/local/config/nacos/logs:/home/nacos/logs \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server:1.3.0

Successful examples:

The installation is now complete~

This is the end of this article about the implementation of nacos1.3.0 built with docker. For more relevant content about building nacos with docker, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed tutorial on installing nacos in docker and configuring the database
  • Detailed explanation of the implementation process of Nacos docker stand-alone mode deployment

<<:  Overview of the basic components of HTML web pages

>>:  A brief discussion on VUE uni-app custom components

Recommend

Solve the pitfall of storing boolean type values ​​in localstorage

LocalStorage stores Boolean values Today, when I ...

CSS -webkit-box-orient: vertical property lost after compilation

1. Cause The requirement is to display two lines,...

Detailed explanation of commonly used nginx rewrite rules

This article provides some commonly used rewrite ...

Detailed tutorial on installing Hbase 2.3.5 on Vmware + Ubuntu18.04

Preface The previous article installed Hadoop, an...

How to implement insert if none and update if yes in MySql

summary In some scenarios, there may be such a re...

Three ways to communicate between Docker containers

We all know that Docker containers are isolated f...

CSS code abbreviation div+css layout code abbreviation specification

Using abbreviations can help reduce the size of yo...

How to add double quotes in HTML title

<a href="https://www.jb51.net/" titl...

Detailed explanation of CSS pre-compiled languages ​​and their differences

1. What is As a markup language, CSS has a relati...

How to use yum to configure lnmp environment in CentOS7.6 system

1. Installation version details Server: MariaDB S...

Vue implements scrollable pop-up window effect

This article shares the specific code of Vue to a...

MySQL 5.7.10 Installation Documentation Tutorial

1. Install dependency packages yum -y install gcc...

Html Select uses the selected attribute to set the default selection

Adding the attribute selected = "selected&quo...