通过docker安装nacos2.0.3

一、通过dockerHub 下载nacos 2.0.3 镜像

docker pull nacos/nacos-server:v2.0.3

二、创建nacos挂载目录

mkdir -p /home/module/nacos/conf /home/module/nacos/data /home/module/nacos/logs

三、复制nacos容器里相关文件到对应的文件夹

docker cp nacos:/home/nacos/conf/ /home/module/nacos/conf

docker cp nacos:/home/nacos/logs/ /home/module/nacos/logs

docker cp nacos:/home/nacos/data/ /home/module/nacos/data

四、初始化mysql相关库表

1.创建数据库

CREATE DATABASE `nacos-moyu`

2.初始化表

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,

  `encrypted_data_key` text 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(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 '租户字段',

  `encrypted_data_key` text 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 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)

);

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');


五、修改nacos配置文件

# spring

server.servlet.contextPath=/nacos

server.contextPath=/nacos

server.port=8849

# server.tomcat.accesslog.max-days=30

# server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i

# server.tomcat.accesslog.enabled=false

# default current work dir

# server.tomcat.basedir=file:.

#*************** Config Module Related Configurations ***************#

### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.

spring.datasource.platform=mysql

spring.sql.init.platform=mysql

nacos.cmdb.dumpTaskInterval=3600

nacos.cmdb.eventTaskInterval=10

nacos.cmdb.labelTaskInterval=300

nacos.cmdb.loadDataAtStart=false

db.num=1

#  这里必须为公网或服务器内网地址,我这里是服务器的内网地址,容器内部没有mysql,绝对不能使用 127.0.0.1和localhost

#  如果nacos启动失败,Nacos Server did not start because dumpservice bean construction failure : No DataSource set

#  加上 &serverTimezone=UTC ,再不行就加上 &allowPublicKeyRetrieval=true

#  将connectTimeout 和 socketTimeout 分别加个0,避免出现超时异常

db.url.0=jdbc:mysql://【数据库地址】:3306/nacos-moyu?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false

db.user.0=root

db.password.0=【密码】

### The auth system to use, currently only 'nacos' and 'ldap' is supported:

# 鉴权类型,默认为nacos

nacos.core.auth.system.type=nacos

# 是否开启鉴权功能,默认为false

nacos.core.auth.enabled=true

# Base64加密前密码  TcmxJw05k$-_zcx.)8EtFC^D^F1W!IPr

# Base64加密后密码  VGNteEp3MDVrJC1femN4Lik4RXRGQ15EXkYxVyFJUHI=

# 加密网站:https://www.qqxiuzi.cn/bianma/base64.htm

# 自定义密钥,在自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符。同nacos.core.auth.plugin.nacos.token.secret.key

nacos.core.auth.default.token.secret.key=VGNteEp3MDVrJC1femN4Lik4RXRGQ15EXkYxVyFJUHI=

### worked when nacos.core.auth.system.type=nacos

### The token expiration in seconds:

# 用户登陆临时accessToken的过期时间,默认18000

nacos.core.auth.plugin.nacos.token.expire.seconds=18000

### The default token:

# 默认鉴权插件用于生成用户登陆临时accessToken所使用的密钥,在2.2.0.1后无默认值,必须执行此变更,否则无法启动;其他版本为建议设置。

nacos.core.auth.plugin.nacos.token.secret.key=VGNteEp3MDVrJC1femN4Lik4RXRGQ15EXkYxVyFJUHI=

### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.

# nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}

# 关闭使用user-agent判断服务端请求并放行鉴权的功能

nacos.core.auth.enable.userAgentAuthWhite=false

# 用于替换useragent白名单的身份识别key,不可为空,2.2.1后无默认值

nacos.core.auth.server.identity.key=nacosKey

# 用于替换useragent白名单的身份识别value,不可为空,2.2.1后无默认值

nacos.core.auth.server.identity.value=nacosValue

## spring security config

### turn off security

nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**

# metrics for elastic search

management.metrics.export.elastic.enabled=false

management.metrics.export.influx.enabled=false

nacos.naming.distro.taskDispatchThreadCount=10

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


六、创建容器并启动

docker run -d --name nacos \                                   -d 表示运行在后台,--name 指定名称为nacos

-p 8848:8848 \                                                          前者为暴露给外部访问的端口,后者为nacos容器端口

-p 9848:9848 \                                                          9848是nacos2.0.0版本以上必须要加上端口映射

-p 9849:9849 \                                                          9849是nacos2.0.0版本以上必须要加上端口映射

--env MODE=standalone \                                                nacos以单机版启动,默认为cluster(集群)

--env NACOS_AUTH_ENABLE=true \                                          如果使用官方镜像,请在启动docker容器时,添加如下环境变量

-v /www/wwwroot/changjing/docker/nacos/conf/:/home/nacos/conf \        nacos 配置文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录

-v /www/wwwroot/changjing/docker/nacos/logs:/home/nacos/logs \          nacos 日志文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录

-v /www/wwwroot/changjing/docker/nacos/data:/home/nacos/data \          nacos 数据文件目录,“:”前为服务器目录,“:”后为nacos容器中的目录

nacos/nacos-server:v2.0.3


参考blog:https://blog.csdn.net/studio_1/article/details/132160081

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容