轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
agile_config

kklldog/agile_config

kklldog

一个基于.NET Core开发的轻量级配置中心,专为分布式、容器化部署的应用设计,支持简单部署、实时配置推送、多节点高可用及本地缓存,可轻松替换传统配置文件,无需复杂架构。

3 次收藏下载次数: 0状态:社区镜像维护者:kklldog仓库类型:镜像最近更新:1 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,让镜像更快,让人生更轻。
点击查看

AgileConfig

!https://img.shields.io/github/workflow/status/kklldog/agileconfig/.NET%20Core !https://img.shields.io/github/stars/kklldog/AgileConfig !https://img.shields.io/github/last-commit/kklldog/AgileConfig/master.svg?logo=github&logoColor=green&label=commit !https://img.shields.io/nuget/v/agileconfig.client?label=agileconfig.client !https://img.shields.io/nuget/dt/agileconfig.client?label=client%20download !https://img.shields.io/github/license/kklldog/AgileConfig

这是一个基于.NET Core开发的轻量级配置中心。配置中心常与微服务关联,但实际上,许多分布式程序(如传统SOA应用)或容器化部署的非微服务应用,因部署分散而面临配置修改困难的问题。AgileConfig的开发目标并非局限于微服务,而是为各类分布式、容器化应用提供简单的配置读取与修改能力。

AgileConfig秉承轻量化理念,部署简单、配置简单、使用简单、学习简单,仅保留必要功能,无需如Apollo般复杂庞大,却足以替换web.config、appsettings.json等传统配置文件。若不想为配置中心部署复杂架构,AgileConfig是理想选择。

特点

  1. 部署简单,最少仅需一个数据节点,支持Docker部署
  2. 支持多节点分布式部署以保证高可用
  3. 配置支持按应用隔离,应用内配置支持分组隔离
  4. 应用支持继承,可将公共配置提取至父应用供其他应用继承
  5. 采用长连接技术,配置信息实时推送至客户端
  6. 支持IConfiguration、IOptions模式读取配置,原程序几乎无需改造
  7. 配置修改支持版本记录,可随时回滚配置
  8. 所有节点故障时,客户端支持从本地缓存读取配置
  9. 支持Restful API维护配置

演示地址:AgileConfig Server Demo 密码:***
客户端项目:https://github.com/kklldog/AgileConfig_Client
示例项目:
https://github.com/kklldog/AgileConfig_Client/tree/master/AgileConfigMVCSample
https://github.com/kklldog/AgileConfig_Client/tree/master/AgileConfigWPFSample
https://github.com/kklldog/AgileConfig_Client/tree/master/AgileConfigConsoleSample
教程 - 如何使用AgileConfig.Client读取配置
https://github.com/kklldog/AgileConfig/wiki/Restful-API

架构

![]([***]

AgileConfig架构主要分为三部分:

客户端

客户端程序基于.NET Standard 2.0开发,可通过NuGet安装(搜索agileconfig.client)。初始化时可配置多个节点地址,客户端会随机选择节点建立长连接;连接中断后自动重连其他节点,确保配置获取连续性。

节点、管理程序

节点基于ASP.NET Core开发,为简化部署,管理程序与节点服务合二为一。通过环境变量可启用任意节点的管理程序功能,实现配置维护。

数据库

使用数据库存储配置数据,支持SqlServer、MySQL、Sqlite、PostgreSQL、Oracle五种数据库(基于Freesql数据访问组件)。用户仅需创建空库,表结构将在首次启动时自动生成。

注意:版本≤1.0.4的用户请勿更新,EFCore与Freesql自动建库存在差异,避免兼容性问题。

关于高可用

AgileConfig节点无状态,支持横向扩展部署。客户端配置多节点地址后,可自动切换连接节点,保障高可用:

问题影响说明
控制台下线无法维护配置,客户端无影响控制台与节点共存,控制台下线通常意味着对应节点下线
某个节点下线客户端重连至其他节点无任何影响
所有节点下线客户端从内存/本地缓存读取配置已启动客户端从内存读取;未启动客户端尝试连接失败后,从本地文件缓存读取,确保应用可启动

数据库高可用需依赖数据库自身方案(如MySQL的binlog),与Apollo架构类似,数据库单点问题由数据库层面解决。

部署服务端

初始化数据库

用户需手动创建空库,首次启动时自动生成所有表结构。支持数据库及provider对照:

  • SqlServer: SqlServer
  • MySQL: MySql
  • Sqlite: Sqlite
  • PostgreSQL: PostgreSql
  • Oracle: Oracle

运行服务端

使用Docker部署示例:

bash
sudo docker run --name agile_config -e adminConsole=true -e db:provider=sqlite -e db:conn="Data Source=agile_config.db" -p 5000:5000 -v /etc/localtime:/etc/localtime  kklldog/agile_config:latest

环境变量说明:

  • adminConsole: 是否启用管理程序功能(true/false)
  • db:provider: 数据库类型(如sqlite)
  • db:conn: 数据库连接串

初始化管理员密码

首次运行需设置管理员密码,访问部署地址(如http://localhost:5000),按提示完成初始化。

节点配置

多节点部署时,需在管理界面添加所有节点信息(含启用管理程序的节点),实现统一管理。

应用配置

支持多应用隔离,应用间可配置继承关系(提取公共配置至父应用,子应用继承并覆盖)。应用内配置支持分组管理,提升配置组织灵活性。

配置项管理

配置项支持分组,新增配置需手动“上线”以推送至客户端;修改、删除、回滚操作实时推送。配置版本记录完整,支持任意版本回滚。

客户端监控

管理界面可查看已连接客户端状态,包括应用ID、连接时间等信息。

系统日志

记录服务运行关键事件(如配置变更、节点状态等),便于问题排查。

使用客户端

安装客户端

通过NuGet安装客户端类库:

bash
Install-Package AgileConfig.Client

初始化客户端

以ASP.NET Core MVC项目为例,在appsettings.json添加配置:

json
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "AgileConfig": {
    "appId": "app", // 应用ID
    "secret": "xxx", // 应用密钥
    "nodes": "http://localhost:5000,http://localhost:5001" // 多个节点用逗号分隔
  }
}

在Program.cs中配置客户端:

csharp
public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((context, config) =>
        {
            var configClient = new ConfigClient(); // 从appsettings.json读取配置
            config.AddAgileConfig(configClient); // 添加AgileConfig配置源
            ConfigClient = configClient; // 挂载客户端实例供全局使用
            configClient.ConfigChanged += ConfigClient_ConfigChanged; // 注册配置变更事件
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });

读取配置

支持IConfiguration、IOptions模式及客户端实例直接读取,示例:

csharp
public class HomeController : Controller
{
    private readonly IConfiguration _configuration;
    private readonly IOptions<DbConfigOptions> _dbOptions;

    public HomeController(IConfiguration configuration, IOptions<DbConfigOptions> dbOptions)
    {
        _configuration = configuration;
        _dbOptions = dbOptions;
    }

    // 使用IConfiguration读取
    public IActionResult ByIConfiguration()
    {
        var userId = _configuration["userId"];
        var dbConn = _configuration["db:connection"];
        return View();
    }

    // 使用IOptions读取
    public IActionResult ByOptions()
    {
        var dbConn = _dbOptions.Value.connection;
        return View();
    }

    // 使用客户端实例读取(需挂载Program.ConfigClient)
    public IActionResult ByInstance()
    {
        var userId = Program.ConfigClient["userId"];
        return View();
    }
}

联系信息

  • :
  • QQ群:***

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 agile_config 镜像标签

docker pull docker.xuanyuan.run/kklldog/agile_config:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull kklldog/agile_config:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
kklldog/agile_config
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱