Spiga

2025年8月的文章归档

Docker Swarm部署2

2025-08-10 10:55:01

摘要:一、安装Harbor 1. Harbor介绍 Harbor是由VMWare在Docker Registry的基础之上进行了二次封装,加进去了很多额外程序,而且提供了一个非常漂亮的web界面。 Project Harbor是一个开源的受信任的云本地注册表项目,用于存储、标记和扫描上下文。 Harbor扩展了开源Docker发行版,增加了用户通常需要的功能,如安全、身份和管理。 Harbor支持高级特性,如用户管理、访问控制、活动监视和实例之间的复制。 2. 功能 多租户内容签名和验证 安全性与漏洞分析 审计日志记录 身份集成和基于角色的访问控制 实例间的镜像复制 可扩展的API和图形UI 国际化(目前为英文和中文) 3. docker compose Harbor在物理机上部署是非常难的,而为了简化Harbor的应用,Harbor官方直接把Harbor做成了在容器中运行的应用,而且这个容器在Harbor中依赖类似redis、mysql、pgsql等很多存储系统,所以它需要编排很多容器协同起来工作,因此VMWare Harbor在部署和使用时,需要借助于Docker的单机编排工具(Docker compose)来实现。 Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,我们可以使用YAML文件来配置应用程序的服务。然后,只需要一个命令,就可以从配置中创建并启动所有服务。 4. 部署 需要提前安装好docker 提前下载好安装包:Release v2.13.2 · goharbor/harbor · GitHub 安装docker-compose DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.39.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose docker comp…… 阅读全文

Docker Swarm集群1

2025-08-09 10:45:35

摘要:最近公司有个.net项目需要集群部署,由于不打算使用K8S,计划用docker swarm来搭建整个集群环境。 所以计划用2篇文章,记录一下docker swarm部署的整个过程。 文章使用的环境是本地虚拟机环境,生产环境大同小异。 文中用的到资料下载:docker-swarm.zip 一、安装 Docker 对于 Ubuntu/Debian 系统: # 查看 ip ip a 使用工具测试链接,如putty # 1. 更新软件包索引 sudo apt-get update # 2. 安装依赖包 sudo apt-get install ca-certificates curl gnupg lsb-release # 3. 添加 Docker 官方 GPG 密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 4. 设置稳定版仓库 echo deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 5. 安装 Docker 引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin # 检查 Docker 版本 docker --version 对于 CentOS/RHEL 系统: # 安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加 Docker 仓库 sudo yum-config-manager --add-r…… 阅读全文

通用AI聊天平台实现4:扩展MCP工具

2025-08-02 22:16:40

摘要:一、MCP概述 MCP(Model Context Protocol)是由Anthropic于2024年底提出并开源的一种协议,旨在为AI系统(如AI编程助手、Agent等)提供安全、标准化的数据访问方式。它采用客户端-服务器架构,使AI工具(如Claude Desktop、IDE插件等)能够通过MCP客户端与MCP服务端交互,访问本地或远程数据源。 1. 基本流程 AI大模型---通过函数调用---函数列表---发送给大模型---判断调用函数+生成调用参数---应用将结果返回给大模型 函数调用---交互模式---调用规范 2. MCP的意义 日常开发中由于接口碎片化,我们可能需要开发搜索、SQL数据库、API调用工具等等。 有了MCP,我们可以将 工具开发,封装成MCP服务器 AI应用开发,连接MCP服务器 数据处理与隐私安全,MCP服务器可以在本地进程中运行,对接本地设备的私有数据 服务集成与扩展效率 MCP服务器可以方便集成 MCP服务器可以复用,配置即接入 AI应用只需要实现一次MCP接入,就拥有了与所有MCP服务器通信的能力 应用场景 企业办公场景 个人AI助手场景 总之:MCP就是AI应用与外部的工具。 3. 基础概念 MCP 是客户端-服务端架构,一个 Host 可以连接多个 MCP Server。 MCP Hosts(宿主程序):如Claude Desktop、IDE等,通过MCP访问数据。 MCP Clients(客户端):与服务器建立1:1连接,处理通信。 MCP Servers(服务端):轻量级程序,提供标准化的数据或工具访问能力。 Local Data Sources(本地数据源):如文件、数据库等,由MCP服务端安全访问。 Remote Services(远程服务):如API、云服务等,MCP服务端可代理访问。 6. 协议层与传输层 协议层:负责消息封装(framing)、请求/响应关联、高级通信模式管理。 传输层:支持两种通信方式 Stdio传输(标准输入/输出):适用于本地进程间通信。 HTTP + SSE传输: 服务端→客户端:Server-Sent Events(SSE) 客户端→服务端:HTTP POST 适用于远程网络通信。 所有传输均采用JSON-RPC 2.0进行消息交换…… 阅读全文