• 华为云HECS云服务器docker环境下安装nacos


    华为云HECS云服务器,安装docker环境,查看如下文章。

    华为云HECS安装docker-CSDN博客

    一、拉取镜像

    docker pull nacos/nacos-server
    

    二、宿主机创建挂载目录

    执行如下命令: 

    1. mkdir -p /usr/local/nacos/logs
    2. mkdir -p /usr/local/nacos/conf

    mkdir的-p参数,有文件夹则略过,没有则创建。 

    三、 启动容器(初次)

    初次生层简单容器,为了复制文件用(容器文件复制到宿主机)。

    执行命令:

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

    四、 复制文件

    //将容器文件复制到宿主机

    1. docker cp nacos:/home/nacos/logs/ /usr/local/nacos/
    2. docker cp nacos:/home/nacos/conf/ /usr/local/nacos/

    五、删除容器

    docker rm -f nacos

    六、 启动容器(以挂载的方式)

    1、Derby作为数据源

    默认情况下,Nacos 使用嵌入式数据库 Derby 存储数据。

    启动容器,命令如下:

    1. docker run -d \
    2. -p 8848:8848 \
    3. --name nacos \
    4. -e JVM_XMS=256m \
    5. -e JVM_XMX=256m \
    6. -e MODE=standalone \
    7. -e PREFER_HOST_MODE=hostname \
    8. -e SPRING_DATASOURCE_PLATFORM=derby \
    9. -v /usr/local/nacos/logs:/home/nacos/logs \
    10. -v /usr/local/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
    11. --privileged=true \
    12. --restart=always \
    13. nacos/nacos-server

    2、mysql作为数据源

    2.1 mysql的安装

    华为云HECS云服务器docker环境下安装mysql_supersolon的博客-CSDN博客

    2.2 创建数据库

    创建名称为 【nacos_config】的数据库

    2.3 下载脚本

    文件地址:

    https://github.com/alibaba/nacos/blob/develop/config/src/main/resources/META-INF/nacos-db.sql

    脚本文件内容:

    1. /*
    2. * Copyright 1999-2018 Alibaba Group Holding Ltd.
    3. *
    4. * Licensed under the Apache License, Version 2.0 (the "License");
    5. * you may not use this file except in compliance with the License.
    6. * You may obtain a copy of the License at
    7. *
    8. * http://www.apache.org/licenses/LICENSE-2.0
    9. *
    10. * Unless required by applicable law or agreed to in writing, software
    11. * distributed under the License is distributed on an "AS IS" BASIS,
    12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13. * See the License for the specific language governing permissions and
    14. * limitations under the License.
    15. */
    16. /******************************************/
    17. /* 数据库全名 = nacos_config */
    18. /* 表名称 = config_info */
    19. /******************************************/
    20. CREATE TABLE `config_info` (
    21. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    22. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    23. `group_id` varchar(128) DEFAULT NULL,
    24. `content` longtext NOT NULL COMMENT 'content',
    25. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
    26. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
    27. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
    28. `src_user` text COMMENT 'source user',
    29. `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
    30. `app_name` varchar(128) DEFAULT NULL,
    31. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    32. `c_desc` varchar(256) DEFAULT NULL,
    33. `c_use` varchar(64) DEFAULT NULL,
    34. `effect` varchar(64) DEFAULT NULL,
    35. `type` varchar(64) DEFAULT NULL,
    36. `c_schema` text,
    37. `encrypted_data_key` text NOT NULL COMMENT '密钥',
    38. PRIMARY KEY (`id`),
    39. UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    40. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
    41. /******************************************/
    42. /* 数据库全名 = nacos_config */
    43. /* 表名称 = config_info_aggr */
    44. /******************************************/
    45. CREATE TABLE `config_info_aggr` (
    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. `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
    50. `content` longtext NOT NULL COMMENT '内容',
    51. `gmt_modified` datetime NOT NULL COMMENT '修改时间',
    52. `app_name` varchar(128) DEFAULT NULL,
    53. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    54. PRIMARY KEY (`id`),
    55. UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
    56. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
    57. /******************************************/
    58. /* 数据库全名 = nacos_config */
    59. /* 表名称 = config_info_beta */
    60. /******************************************/
    61. CREATE TABLE `config_info_beta` (
    62. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    63. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    64. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
    65. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
    66. `content` longtext NOT NULL COMMENT 'content',
    67. `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
    68. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
    69. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
    70. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
    71. `src_user` text COMMENT 'source user',
    72. `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
    73. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    74. `encrypted_data_key` text NOT NULL COMMENT '密钥',
    75. PRIMARY KEY (`id`),
    76. UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    77. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
    78. /******************************************/
    79. /* 数据库全名 = nacos_config */
    80. /* 表名称 = config_info_tag */
    81. /******************************************/
    82. CREATE TABLE `config_info_tag` (
    83. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    84. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    85. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
    86. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
    87. `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
    88. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
    89. `content` longtext NOT NULL COMMENT 'content',
    90. `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
    91. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
    92. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
    93. `src_user` text COMMENT 'source user',
    94. `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
    95. PRIMARY KEY (`id`),
    96. UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
    97. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
    98. /******************************************/
    99. /* 数据库全名 = nacos_config */
    100. /* 表名称 = config_tags_relation */
    101. /******************************************/
    102. CREATE TABLE `config_tags_relation` (
    103. `id` bigint(20) NOT NULL COMMENT 'id',
    104. `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
    105. `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
    106. `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    107. `group_id` varchar(128) NOT NULL COMMENT 'group_id',
    108. `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
    109. `nid` bigint(20) NOT NULL AUTO_INCREMENT,
    110. PRIMARY KEY (`nid`),
    111. UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
    112. KEY `idx_tenant_id` (`tenant_id`)
    113. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
    114. /******************************************/
    115. /* 数据库全名 = nacos_config */
    116. /* 表名称 = group_capacity */
    117. /******************************************/
    118. CREATE TABLE `group_capacity` (
    119. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    120. `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
    121. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
    122. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
    123. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
    124. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
    125. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
    126. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
    127. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
    128. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
    129. PRIMARY KEY (`id`),
    130. UNIQUE KEY `uk_group_id` (`group_id`)
    131. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
    132. /******************************************/
    133. /* 数据库全名 = nacos_config */
    134. /* 表名称 = his_config_info */
    135. /******************************************/
    136. CREATE TABLE `his_config_info` (
    137. `id` bigint(64) unsigned NOT NULL,
    138. `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    139. `data_id` varchar(255) NOT NULL,
    140. `group_id` varchar(128) NOT NULL,
    141. `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
    142. `content` longtext NOT NULL,
    143. `md5` varchar(32) DEFAULT NULL,
    144. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
    145. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
    146. `src_user` text,
    147. `src_ip` varchar(20) DEFAULT NULL,
    148. `op_type` char(10) DEFAULT NULL,
    149. `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    150. `encrypted_data_key` text NOT NULL COMMENT '密钥',
    151. PRIMARY KEY (`nid`),
    152. KEY `idx_gmt_create` (`gmt_create`),
    153. KEY `idx_gmt_modified` (`gmt_modified`),
    154. KEY `idx_did` (`data_id`)
    155. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
    156. /******************************************/
    157. /* 数据库全名 = nacos_config */
    158. /* 表名称 = tenant_capacity */
    159. /******************************************/
    160. CREATE TABLE `tenant_capacity` (
    161. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    162. `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
    163. `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
    164. `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
    165. `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
    166. `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
    167. `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
    168. `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
    169. `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
    170. `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
    171. PRIMARY KEY (`id`),
    172. UNIQUE KEY `uk_tenant_id` (`tenant_id`)
    173. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
    174. CREATE TABLE `tenant_info` (
    175. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    176. `kp` varchar(128) NOT NULL COMMENT 'kp',
    177. `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
    178. `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
    179. `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
    180. `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
    181. `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
    182. `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
    183. PRIMARY KEY (`id`),
    184. UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
    185. KEY `idx_tenant_id` (`tenant_id`)
    186. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
    187. CREATE TABLE users (
    188. username varchar(50) NOT NULL PRIMARY KEY,
    189. password varchar(500) NOT NULL,
    190. enabled boolean NOT NULL
    191. );
    192. CREATE TABLE roles (
    193. username varchar(50) NOT NULL,
    194. role varchar(50) NOT NULL,
    195. constraint uk_username_role UNIQUE (username,role)
    196. );
    197. CREATE TABLE permissions (
    198. role varchar(50) NOT NULL,
    199. resource varchar(512) NOT NULL,
    200. action varchar(8) NOT NULL,
    201. constraint uk_role_permission UNIQUE (role,resource,action)
    202. );
    203. INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
    204. INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

     2.4 执行脚本

    1、选中nacos-config数据库

    2、新建查询

    3、粘贴脚本

    4、点击【运行】

    5、运行成功,查看是否有表

    2.5 配置文件修改

    新建目录

    1. mkdir -p /usr/local/nacos/logs/ #新建logs目录
    2. mkdir -p /usr/local/nacos/init.d/
    3. vim /usr/local/nacos/init.d/custom.properties #修改配置文件

    修改配置文件【 custom.properties

    1. server.contextPath=/nacos
    2. server.servlet.contextPath=/nacos
    3. server.port=8848
    4. spring.datasource.platform=mysql
    5. db.num=1
    6. #这里需要修改为自己的IP
    7. db.url.0=jdbc:mysql://192.168.100.133:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    8. #用户名
    9. db.user=root
    10. #密码
    11. db.password=123456
    12. nacos.cmdb.dumpTaskInterval=3600
    13. nacos.cmdb.eventTaskInterval=10
    14. nacos.cmdb.labelTaskInterval=300
    15. nacos.cmdb.loadDataAtStart=false
    16. management.metrics.export.elastic.enabled=false
    17. management.metrics.export.influx.enabled=false
    18. server.tomcat.accesslog.enabled=true
    19. server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
    20. 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/**
    21. nacos.naming.distro.taskDispatchThreadCount=1
    22. nacos.naming.distro.taskDispatchPeriod=200
    23. nacos.naming.distro.batchSyncKeyCount=1000
    24. nacos.naming.distro.initDataRatio=0.9
    25. nacos.naming.distro.syncRetryDelay=5000
    26. nacos.naming.data.warmup=true
    27. nacos.naming.expireInstance=true

    2.6 启动容器

    1. docker run \
    2. -p 8848:8848 \
    3. --name nacos -d \
    4. --privileged=true \
    5. --restart=always \
    6. -e MODE=standalone \ # 使用 standalone模式(单机模式)
    7. -e SPRING_DATASOURCE_PLATFORM=mysql \ # 选择mysql数据库
    8. -e MYSQL_SERVICE_HOST=192.168.20.255 \ # 数据库地址
    9. -e MYSQL_SERVICE_USER=root \ # 数据库用户名
    10. -e MYSQL_SERVICE_PASSWORD=admin \ # 数据库密码
    11. -e MYSQL_SERVICE_DB_NAME=nacos_config \ # 数据库名称
    12. -e JVM_XMS=256m \
    13. -e JVM_XMX=256m \
    14. -e JVM_XMN=256m \
    15. -v /usr/local/nacos/logs:/home/nacos/logs \
    16. -v /usr/local/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
    17. nacos/nacos-server

    八、HECS安全组开端口

    云服务器-实例-安全组-规则配置-入方向规则,开放8848端口。

    九、访问

     浏览器输入地址:​​​​​​​http://:8848/nacos/index.html

     出现nacos页面证明部署成功。

  • 相关阅读:
    ISIS的基本概念
    乘风破浪,遇见未来新能源汽车(Electric Vehicle)之特斯拉提车必须知道的十个流程
    【Spring容器的启动过程】
    浮动布局注意点,清除浮动
    一篇五分生信临床模型预测文章代码复现——Figure 4-6 临床模型构建(五)
    【玩玩Vue】使用elementui页面布局和控制页面的滚动
    vue3+ts withDefaults的使用
    【Node.JS】事件的绑定与触发
    Windows也能拥有好用的命令行吗?Powershell+Terminal折腾记录(v1.0版本)
    Nginx的使用
  • 原文地址:https://blog.csdn.net/supersolon/article/details/133947860