• 使用Docker搭建Apollo分布式配置中心


    使用Docker搭建Apollo分布式配置中心

    文件目录结构

    .
    └── apollo
        ├── docker-compose.yml
        └── sql
            ├── apolloconfigdb.sql
            └── apolloportaldb.sql
    

    搭建Apollo分布式配置中心

    1. 准备好docker-compose.yml文件
    version: '2'
    
    services:
      apollo-quick-start:
        image: nobodyiam/apollo-quick-start
        container_name: apollo-quick-start
        depends_on:
          - apollo-db
        ports:
          - "18080:8080"
          - "18070:8070"
        links:
          - apollo-db
    
      apollo-db:
        image: mysql:5.7
        container_name: apollo-db
        environment:
          TZ: Asia/Shanghai
          MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
        depends_on:
          - apollo-dbdata
        ports:
          - "13306:3306"
        volumes:
          - ./sql:/docker-entrypoint-initdb.d
        volumes_from:
          - apollo-dbdata
    
      apollo-dbdata:
        image: alpine:latest
        container_name: apollo-dbdata
        volumes:
          - /var/lib/mysql
    
    1. 使用以下命令创建
    docker-compose up -d
    
    1. 关闭防火墙
    systemctl status firewalld  #查看防火墙状态
    systemctl stop firewalld    #关闭防火墙
    

    那两个db文件是用来创建配置中心所需的初始化数据的,这个可以到官网下载。

    验证

    访问以下链接,如果出现登录窗口,说明配置成功

    http://10.122.52.206:18070/

    默认登陆名和密码:

    • 登录名: apollo

    • 密码: admin

    对接.NET Core Web API

    1. 安装组件
    Com.Ctrip.Framework.Apollo.Configuration
    

    或者直接下面的语句拷贝到项目文件里面

    <PackageReference Include="Com.Ctrip.Framework.Apollo.Configuration" Version="2.4.1" />
    
    1. 修改appsettings.json
      "Apollo": {
        "AppId": "xindi-Microservice1",
        "Env": "DEV",
        "MetaServer": "http://10.122.52.206:18080/",
        "ConfigServer": [ "http://10.122.52.206:18080/" ]
      }
    
    1. 修改program.cs文件
                    .ConfigureAppConfiguration((hostBuilderContext, configurationBuilder) =>
                    {
                        LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);
                        configurationBuilder
                            .AddApollo(configurationBuilder.Build().GetSection("Apollo"))
                            .AddDefault()
                            .AddNamespace("xindiMsPrivateJson", ConfigFileFormat.Json)//自定义private NameSpace
                            .AddNamespace(ConfigConsts.NamespaceApplication);//Apollo default NameSpace
                    })
    

    以上配置表示去连接Apollo,从远程获取配置信息

    验证

    可以尝试修改远程的配置信息,然后,在本地获取,如果获取到了远程修改过的信息,则说明配置成功了。

  • 相关阅读:
    css 颜色
    目标
    css单位
    自我介绍
    Grid Layout
    position
    【转】android源码分析之windowmanager (android悬浮窗口的实现)
    java线程池原理
    STM32 中断中调用freeRTOS API 需要注意的地方
    今天开通博客园啦~~~~
  • 原文地址:https://www.cnblogs.com/Dannier/p/14900214.html
Copyright © 2020-2023  润新知