当前位置:   article > 正文

docker安装nacos_docker nacos

docker nacos

Docker(部署常见应用):Docker安装Alibaba Nacos教程(单机)

SpringCloudAlibaba实战教程系列

阿里巴巴Nacos官方文档

docker命令大全

docker:官网    中文官网

docker:镜像官网:镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker pull redis:5.0.8

--------------------------目录------------------------------------

一、docker简单安装nacos、使用默认的Derby数据库

二、docker安装nacos、使用默认的mysql数据库

------------------------------------------------------------------

一、docker简单安装nacos、使用默认的Derby数据库

 1、老规则咱们登录docker 官网搜索nacos再到镜像执行拉取。我这里使用默认命令

docker pull nacos/nacos-server

 2、创建本地的映射文件,custom.properties,

mkdir -p /root/nacos/init.d /root/nacos/logs
touch /root/nacos/init.d/custom.properties

     在文件中写入以下配置

management.endpoints.web.exposure.include=*

    3、创建容器并启动提供a、b两种方案

   a、创建容器:使用standalone模式并开放8848端口,并映射配置文件和日志目录,数据库默认使用 Derby

docker run -d -p 8848:8848 -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties -v /root/nacos/logs:/home/nacos/logs --restart always --name nacos nacos/nacos-server

  

          启动容器,命令中:68a1f5afd98是容器id

docker start 68a1f5afd98
或者
docker start nacos

    b、使用docker-compose启动 docker-compose安装教程

         首先配置docker-compose文件 standalone-derby.yaml 

version: "2"
services:
  nacos:
    image: nacos/nacos-server:latest
    container_name: nacos
    environment:
    - MODE=standalone
    volumes:
    - /root/nacos/logs:/home/nacos/logs
    -  /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
    - "8848:8848"

  启动、关闭、移除、关闭并移除命令如下:

#启动
docker-compose -f standalone-derby.yaml up
#关闭
docker-compose -f standalone-derby.yaml stop
#移除
docker-compose -f standalone-derby.yaml rm
#关闭并移除
docker-compose -f standalone-derby.yaml down

  4、访问http://localhost:8848/nacos/ 账号默认nacos、密码默认nacos

二、docker安装nacos(单机)、使用默认的mysql数据库(兼容5.8版本以下、mysql8兼容看文末方案)

   1、首先拉取官方镜像。跟第一种方案1一样操作

   2、配置本地映射文件。第一种方案2一样操作

 然后是准备工作:

  3、创建数据库 nacos_config

  4、nacos初始化sql,需要先创建nacos数据库后,然后执行下面的Sql【nacos官网Sql

  1. /******************************************/
  2. /* 数据库全名 = nacos_config */
  3. /* 表名称 = config_info */
  4. /******************************************/
  5. CREATE TABLE `config_info` (
  6. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  7. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  8. `group_id` varchar(255) DEFAULT NULL,
  9. `content` longtext NOT NULL COMMENT 'content',
  10. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  11. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  12. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  13. `src_user` text COMMENT 'source user',
  14. `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  15. `app_name` varchar(128) DEFAULT NULL,
  16. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  17. `c_desc` varchar(256) DEFAULT NULL,
  18. `c_use` varchar(64) DEFAULT NULL,
  19. `effect` varchar(64) DEFAULT NULL,
  20. `type` varchar(64) DEFAULT NULL,
  21. `c_schema` text,
  22. PRIMARY KEY (`id`),
  23. UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
  24. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
  25. /******************************************/
  26. /* 数据库全名 = nacos_config */
  27. /* 表名称 = config_info_aggr */
  28. /******************************************/
  29. CREATE TABLE `config_info_aggr` (
  30. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  31. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  32. `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  33. `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  34. `content` longtext NOT NULL COMMENT '内容',
  35. `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  36. `app_name` varchar(128) DEFAULT NULL,
  37. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  38. PRIMARY KEY (`id`),
  39. UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
  40. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
  41. /******************************************/
  42. /* 数据库全名 = nacos_config */
  43. /* 表名称 = config_info_beta */
  44. /******************************************/
  45. CREATE TABLE `config_info_beta` (
  46. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  47. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  48. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  49. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  50. `content` longtext NOT NULL COMMENT 'content',
  51. `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  52. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  53. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  54. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  55. `src_user` text COMMENT 'source user',
  56. `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  57. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  58. PRIMARY KEY (`id`),
  59. UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
  60. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
  61. /******************************************/
  62. /* 数据库全名 = nacos_config */
  63. /* 表名称 = config_info_tag */
  64. /******************************************/
  65. CREATE TABLE `config_info_tag` (
  66. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  67. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  68. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  69. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  70. `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  71. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  72. `content` longtext NOT NULL COMMENT 'content',
  73. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  74. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  75. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  76. `src_user` text COMMENT 'source user',
  77. `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  78. PRIMARY KEY (`id`),
  79. UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
  80. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
  81. /******************************************/
  82. /* 数据库全名 = nacos_config */
  83. /* 表名称 = config_tags_relation */
  84. /******************************************/
  85. CREATE TABLE `config_tags_relation` (
  86. `id` bigint(20) NOT NULL COMMENT 'id',
  87. `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  88. `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  89. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  90. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  91. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  92. `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  93. PRIMARY KEY (`nid`),
  94. UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  95. KEY `idx_tenant_id` (`tenant_id`)
  96. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
  97. /******************************************/
  98. /* 数据库全名 = nacos_config */
  99. /* 表名称 = group_capacity */
  100. /******************************************/
  101. CREATE TABLE `group_capacity` (
  102. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  103. `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  104. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  105. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  106. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  107. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  108. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  109. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  110. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  111. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  112. PRIMARY KEY (`id`),
  113. UNIQUE KEY `uk_group_id` (`group_id`)
  114. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
  115. /******************************************/
  116. /* 数据库全名 = nacos_config */
  117. /* 表名称 = his_config_info */
  118. /******************************************/
  119. CREATE TABLE `his_config_info` (
  120. `id` bigint(64) unsigned NOT NULL,
  121. `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  122. `data_id` varchar(255) NOT NULL,
  123. `group_id` varchar(128) NOT NULL,
  124. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  125. `content` longtext NOT NULL,
  126. `md5` varchar(32) DEFAULT NULL,
  127. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  128. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  129. `src_user` text,
  130. `src_ip` varchar(20) DEFAULT NULL,
  131. `op_type` char(10) DEFAULT NULL,
  132. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  133. PRIMARY KEY (`nid`),
  134. KEY `idx_gmt_create` (`gmt_create`),
  135. KEY `idx_gmt_modified` (`gmt_modified`),
  136. KEY `idx_did` (`data_id`)
  137. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
  138. /******************************************/
  139. /* 数据库全名 = nacos_config */
  140. /* 表名称 = tenant_capacity */
  141. /******************************************/
  142. CREATE TABLE `tenant_capacity` (
  143. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  144. `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  145. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  146. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  147. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  148. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  149. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  150. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  151. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  152. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  153. PRIMARY KEY (`id`),
  154. UNIQUE KEY `uk_tenant_id` (`tenant_id`)
  155. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
  156. CREATE TABLE `tenant_info` (
  157. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  158. `kp` varchar(128) NOT NULL COMMENT 'kp',
  159. `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  160. `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  161. `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  162. `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  163. `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  164. `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  165. PRIMARY KEY (`id`),
  166. UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  167. KEY `idx_tenant_id` (`tenant_id`)
  168. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
  169. CREATE TABLE users (
  170. username varchar(50) NOT NULL PRIMARY KEY,
  171. password varchar(500) NOT NULL,
  172. enabled boolean NOT NULL
  173. );
  174. CREATE TABLE roles (
  175. username varchar(50) NOT NULL,
  176. role varchar(50) NOT NULL,
  177. constraint uk_username_role UNIQUE (username,role)
  178. );
  179. CREATE TABLE permissions (
  180. role varchar(50) NOT NULL,
  181. resource varchar(512) NOT NULL,
  182. action varchar(8) NOT NULL,
  183. constraint uk_role_permission UNIQUE (role,resource,action)
  184. );
  185. INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
  186. INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

准备完毕、继续创建docker容器 

两个注意:

    a、单机standalone模式默认服务器堆大小512M、注意服务器内存不足,启动后内存溢出问题。

  b、单机模式中-e 添加的参数不同与集群模式,集群模式见文章结尾。

   单机模式中/home/nacos/conf/application.properties 配置文件如下:

  1. # spring
  2. server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
  3. server.contextPath=/nacos
  4. server.port=${NACOS_SERVER_PORT:8848}
  5. spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:""}
  6. nacos.cmdb.dumpTaskInterval=3600
  7. nacos.cmdb.eventTaskInterval=10
  8. nacos.cmdb.labelTaskInterval=300
  9. nacos.cmdb.loadDataAtStart=false
  10. db.num=${MYSQL_DATABASE_NUM:1}
  11. db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
  12. db.url.1=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
  13. db.user=${MYSQL_SERVICE_USER}
  14. db.password=${MYSQL_SERVICE_PASSWORD}
  15. ### The auth system to use, currently only 'nacos' is supported:
  16. nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
  17. ### The token expiration in seconds:
  18. nacos.core.auth.default.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
  19. ### The default token:
  20. nacos.core.auth.default.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
  21. ### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
  22. nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
  23. server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
  24. server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D
  25. # default current work dir
  26. server.tomcat.basedir=
  27. ## spring security config
  28. ### turn off security
  29. nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
  30. # metrics for elastic search
  31. management.metrics.export.elastic.enabled=false
  32. management.metrics.export.influx.enabled=false
  33. nacos.naming.distro.taskDispatchThreadCount=10
  34. nacos.naming.distro.taskDispatchPeriod=200
  35. nacos.naming.distro.batchSyncKeyCount=1000
  36. nacos.naming.distro.initDataRatio=0.9
  37. nacos.naming.distro.syncRetryDelay=5000
  38. nacos.naming.data.warmup=true

5、创建容器,这里的指定参数根据/home/nacos/conf/application.properties 配置设置的,主要是mysql配置的修改

docker run -d -p 8848:8848  \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=127.0.0.1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_DATABASE_NUM=1 \
-v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /root/nacos/logs:/home/nacos/logs \
--restart always --name nacos nacos/nacos-server

  6、启动容器

docker start nacos

 docker-compose启动只需要在 standalone-derby.yaml 配置文件的environment 属性中添加mysql的一些配置即可

   7、访问http://localhost:8848/nacos/ 账号默认nacos、密码默认nacos

集群配置详情见Nacos集群配置参数官方文档 

 

 如果有异常有两种可能

1、mysql用户权限不足 mysql-管理命令【创建用户、授权、修改密码、删除用户和授权、忘记root密码】

2、mysql数据库连接异常,防火墙问题。docker 容器防火墙设置 

3、数据库版本不兼容:Nacos 数据持久化 mysql8.0

配置文件可供参考application.properties如下:容器内路径/home/nacos/conf

  1. # spring
  2. server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
  3. server.contextPath=/nacos
  4. server.port=${NACOS_SERVER_PORT:8848}
  5. spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:""}
  6. nacos.cmdb.dumpTaskInterval=3600
  7. nacos.cmdb.eventTaskInterval=10
  8. nacos.cmdb.labelTaskInterval=300
  9. nacos.cmdb.loadDataAtStart=false
  10. db.num=${MYSQL_DATABASE_NUM:1}
  11. db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai
  12. db.url.1=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai
  13. db.user=${MYSQL_SERVICE_USER}
  14. db.password=${MYSQL_SERVICE_PASSWORD}
  15. ### The auth system to use, currently only 'nacos' is supported:
  16. nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
  17. ### The token expiration in seconds:
  18. nacos.core.auth.default.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
  19. ### The default token:
  20. nacos.core.auth.default.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
  21. ### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
  22. nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
  23. server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
  24. server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D
  25. # default current work dir
  26. server.tomcat.basedir=
  27. ## spring security config
  28. ### turn off security
  29. nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
  30. # metrics for elastic search
  31. management.metrics.export.elastic.enabled=false
  32. management.metrics.export.influx.enabled=false
  33. nacos.naming.distro.taskDispatchThreadCount=10
  34. nacos.naming.distro.taskDispatchPeriod=200
  35. nacos.naming.distro.batchSyncKeyCount=1000
  36. nacos.naming.distro.initDataRatio=0.9
  37. nacos.naming.distro.syncRetryDelay=5000
  38. nacos.naming.data.warmup=true

Nacos高可用集群解决方案-Docker版本

服务器nacos-docker集群部署 - 简书

Nacos构建集群非docker版本

1、安装3个和3个以上的Nacos

  复制nacos项目文件夹,分别命名nacos1、nacos2、naocs3

2、修改配置文件

  同⼀台机器模拟,将上述三个⽂件夹中application.properties中的server.port分别改为8848、8849、8850

  同时给当前实例节点绑定ip,因为服务器可能绑定多个ip(本地ip,内网ip等)

nacos.inetutils.ip-address=127.0.0.1

  复制⼀份conf/cluster.conf.example⽂件,命名为cluster.conf在配置⽂件中设置集群中每⼀个节点的信息

# 集群节点配置
127.0.0.1:8848
127.0.0.1:8849
127.0.0.1:8850

3、分别启动nacos,-m参数指定为集群模式

sh startup.sh -m cluster

4、启动完成到nacos 管理台中集群管理菜单进行查看

5、项目注册到Nacos集群,逗号拼接服务地址即可

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850

docker run  \
-e TZ="Asia/Shanghai" \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=192.168.126.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-p 8848:8848 \
--name nacos \
--restart=always \
-d nacos/nacos-server:1.4.1
 

正常启动命令

docker run --name nacos-test -p 8848:8848 -d nacos/nacos-server

这时候默认启动的是集群服务,因为你没配置里面的mysql什么的所以无法启动,这时候可以启动单点模式,就可以直接运行

-e MODE=standalone单点模式
–rm 停止后直接移除

docker run --rm -e MODE=standalone --name nacos-test -p 8848:8848 -d nacos/nacos-server
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/886402
推荐阅读
相关标签
  

闽ICP备14008679号