第19章 Docker下安装微服务管理平台nacos

1,220 阅读2分钟

本篇文章将带你一步步了解 Nacos 的基本概念及其强大功能,并通过简单易懂的步骤指导你如何使用 Docker 快速搭建和配置 Nacos 环境。无论是服务发现、动态配置还是数据库支持,Nacos 都能帮助你高效管理云原生应用。

Nacos简介

Nacos(Dynamic Naming and Configuration Service)是一个开源的服务发现与配置管理平台,旨在帮助开发者更轻松地构建云原生应用。Nacos 提供了服务注册和发现、动态配置管理、服务健康检查和动态 DNS 等功能。

以下是 Nacos 的一些主要特点:

  1. 服务发现:Nacos 支持通过 RESTful API 和控制台进行服务注册和发现,能够动态跟踪和管理服务状态。
  2. 动态配置管理:允许用户在不重启应用的情况下更新应用的配置,支持配置的热更新。
  3. 多种数据源支持:Nacos 支持多种数据源,包括 MySQL、PostgreSQL 和嵌入式数据库等,方便用户选择。
  4. 易于使用:提供友好的 web 控制台,用户可以通过图形界面来管理服务和配置,无需编写太多代码。
  5. 兼容性:Nacos 可以与 Spring Cloud、Kubernetes 等多种框架和平台无缝集成,非常适合微服务架构的应用。

通过以上功能,Nacos 为开发者提供了一个灵活、可靠的服务管理解决方案,提升了云原生应用的开发效率和可维护性。

任务描述

在本任务中,我们将学习如何使用 Nacos 构建一个服务发现与配置管理平台。

任务实施

1、拉取镜像

docker pull nacos/nacos-server

2、挂载目录,用于映射到容器,目录按自己的情况创建

docker volume create nacos_test
mkdir -p /var/lib/docker/volumes/nacos_test/logs/                      #新建logs目录
mkdir -p /var/lib/docker/volumes/nacos_test/init.d/         
vim /var/lib/docker/volumes/nacos_test/init.d/custom.properties        #修改配置文件

3、mysql新建nacos的数据库,并执行脚本 sql脚本地址如下:

github.com/alibaba/nac…

4、修改配置文件custom.properties

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.3.56:3307/nacos_test?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
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/**
nacos.naming.distro.taskDispatchThreadCount=1
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
nacos.naming.expireInstance=true

5、启动容器

docker  run --network my_network \
--name nacos_test -d \
-p 8849:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=526m \
-e JVM_XMX=526m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /var/lib/docker/volumes/nacos_test/logs:/home/nacos/logs \
-v /var/lib/docker/volumes/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server