Docker Nacos 配置mysql

官网:home

简介:

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

基本架构及概念

服务 (Service)

服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客户端可以为不同的目的重用(例如通过跨进程的网络调用)。Nacos 支持主流的服务生态,如 Kubernetes Service、gRPC|Dubbo RPC Service 或者 Spring Cloud RESTful Service。

服务注册中心 (Service Registry)

服务注册中心,它是服务,其实例及元数据的数据库。服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由器的客户端查询服务注册表以查找服务的可用实例。服务注册中心可能会调用服务实例的健康检查 API 来验证它是否能够处理请求。

服务元数据 (Service Metadata)

服务元数据是指包括服务端点(endpoints)、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据。

服务提供方 (Service Provider)

是指提供可复用和可调用服务的应用方。

服务消费方 (Service Consumer)

是指会发起对某个服务调用的应用方。

配置 (Configuration)

在系统开发过程中通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成这个步骤。配置变更是调整系统运行时的行为的有效手段之一。

配置管理 (Configuration Management)

在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动统称为配置管理。

名字服务 (Naming Service)

提供分布式系统中所有对象(Object)、实体(Entity)的“名字”到关联的元数据之间的映射管理服务,例如 ServiceName -> Endpoints Info, Distributed Lock Name -> Lock Owner/Status Info, DNS Domain Name -> IP List, 服务发现和 DNS 就是名字服务的2大场景。

配置服务 (Configuration Service)

在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。

Nacos Docker 快速开始

1、编写 docker-compse.yml 文件

version: '3.8'
services:
  nacos:
    image: nacos/nacos-server
    container_name: nacos
    privileged: true
    restart: always
    environment:
      - PREFER_HOST_MODE=hostname
      - MODE=standalone
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=172.19.32.1
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=051572
      - MYSQL_SERVICE_DB_NAME=nacos_config
      - MYSQL_DATABASE_NUM=1
      - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
      - NACOS_AUTH_ENABLE=false
      - NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
      - NACOS_AUTH_IDENTITY_KEY=serverIdentity
      - NACOS_AUTH_IDENTITY_VALUE=security
      - NACOS_AUTH_CACHE_ENABLE=true
    volumes:
      - D:/SoftWare/nacos/logs:/home/nacos/logs
    ports:
      - 8848:8848
      - 9848:9848
        

ports: 端口号,nacos2.x版本后新增了grpc远程通信端口,需要放行9848端口

image:镜像,这里使用的是 nacos/nacos-server 镜像

container_name:容器名称

restart:重启,always表示重启

PREFER_HOST_MODE:支持IP还是域名模式,hostname/ip 默认 ip

 MODE:系统启动方式: 集群/单机,cluster/standalone默认 cluster

SPRING_DATASOURCE_PLATFORM:单机模式下支持MYSQL数据库

MYSQL_SERVICE_HOST:数据库 连接地址(因docker容器内部无法直接访问宿主机ip,因此,并不能在容器中通过localhost:3306访问到宿主机的mysql;但是docker在运行时就建立了虚拟网卡,并命名为docker0 我们可以在宿主机上运行ifconfig看到它,这就是宿主机建立的网桥,用于与各个容器之间通信,我们可以通过虚拟网卡ip访问宿主机mysql)

MYSQL_SERVICE_PORT:数据库端口

MYSQL_SERVICE_USER:数据库用户名

MYSQL_SERVICE_PASSWORD:数据库用户密码

MYSQL_SERVICE_DB_NAME:数据库库名

MYSQL_DATABASE_NUM:数据库编号,默认1

MYSQL_SERVICE_DB_PARAM:数据库连接参数

NACOS_AUTH_ENABLE:是否开启权限系统

NACOS_AUTH_TOKEN:token

NACOS_AUTH_IDENTITY_KEY:nacos.core.auth.server.identity.key

NACOS_AUTH_IDENTITY_VALUE:nacos.core.auth.server.identity.value

NACOS_AUTH_CACHE_ENABLE:nacos.core.auth.caching.enabled

2、在 docker-compose.yml 文件目录下运行 docker-compose up -d

3、浏览器访问 localhost:8848/nacos,默认用户名/密码:nacos/nacos

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在Docker中部署Nacos配置MySQL,可以按照以下步骤进行操作: 1. 拉取Nacos的官方镜像,如MySQL 5.7版本的:docker pull nacos/nacos-server:1.3.1 。 2. 确保本机已安装了Git、DockerDocker Compose。 3. 拉取一个包含修改后支持MySQL 8的Nacos版本的文件,可以使用命令:git clone https://gitee.com/korov/Docker.git 。 4. 创建一个logs目录和一个init.d目录,可以使用命令:mkdir -p /mydata/nacos/logs/ 和 mkdir -p /mydata/nacos/init.d/ 。 5. 配置数据库,创建一个名为nacos_config的数据库,可以使用以下SQL文件:https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql。 6. 进入Nacos的容器内,可以使用命令:docker exec -it nacos-server /bin/bash。 通过以上步骤,你可以成功地在Docker中部署Nacos配置MySQL。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [docker安装Nacos配置MySQL](https://blog.csdn.net/wts563540/article/details/126450620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Docker Compose部署Nacos集群 支持MySQL8](https://download.csdn.net/download/weixin_38609089/14886741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

才疏学浅的浅~

谢谢老板,老板大气^_^

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值