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

MySQL Series 11 Logging

Tutorial Series MySQL series: Basic concepts of M...

Solution to changing the data storage location of the database in MySQL 5.7

As the data stored in the MySQL database graduall...

How to set background blur with CSS

When making some pages, in order to make the page...

An analysis of div+float, a very important concept in website design

In website construction, you will always encounter...

Analyzing ab performance test results under Apache

I have always used Loadrunner to do performance t...

A simple way to implement all functions of shopping cart in Vue

The main functions are as follows: Add product in...

MySQL 8.0.11 MSI version installation and configuration graphic tutorial

This article shares the installation and configur...

JS cross-domain XML--with AS URLLoader

Recently, I received a requirement for function ex...

How to solve the problem that Docker container has no vim command

Find the problem Today, when I tried to modify th...

Basic principles of MySQL scalable design

Table of contents Preface 1. What is scalability?...

JavaScript imitates Jingdong magnifying glass effect

This article shares the specific code for JavaScr...

5 ways to make your JavaScript codebase cleaner

Table of contents 1. Use default parameters inste...

Detailed process of upgrading glibc dynamic library in centos 6.9

glibc is the libc library released by gnu, that i...

Summary of MySql index, lock, and transaction knowledge points

This article summarizes the knowledge points of M...

HTML+CSS to achieve layered pyramid example

This article mainly introduces the example of imp...