基于 docker 的 Xinference 全流程部署指南

Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。

一、下载代码

请在控制台下面执行下面的命令

shell 复制代码
# 克隆仓库到本地的 inference 目录,使用 --depth 1 参数仅获取最新的一次提交,减少下载量, 命令如下:
git clone --depth 1 https://github.com/xorbitsai/inference.git inference
# 注:如果您的网络环境不好,可以使用国内镜像仓库,命令如下
# git clone --depth 1 https://gitee.com/mirrors/Xinference.git inference
# 获取 release 版本 v1.4.0 的代码,命令如下:
cd inference
git fetch --tags
git checkout v1.4.0
# 查看当前版本,命令如下:
#git describe --tags
cd ..

二、安装环境

1、安装 docker 和 docker-compose

略(注:安装完成后请执行 docker -vdocker-compose -v 验证是否安装成功)

三、制作镜像

请在控制台下面执行下面的命令

shell 复制代码
cd inference
# 请确保使用 Dockerfile 制作镜像时在 Xinference 项目的根目录下。
docker build --progress=plain -t xinference:v1.4.0 -f xinference/deploy/docker/Dockerfile .
cd ..

注:制作镜像完成后,您可以在控制台下面执行 docker images 命令查看是否有 xinference:v1.4.0 镜像,如果有则说明制作成功。

四、创建容器

./docker-compose.yaml 文件(编码格式:UTF-8)里面添加如下配置参数,假设已经创建该文件且添加内容如下:

yml 复制代码
version: '3.8'

services:
  xinference:
    image: xinference:v1.4.0
    ports:
      - "9997:9997"
    volumes:
      - ./data/.xinference:/root/.xinference
      - ./data/.cache/huggingface:/root/.cache/huggingface
      - ./data/.cache/modelscope:/root/.cache/modelscope
    environment:
      - XINFERENCE_MODEL_SRC=modelscope
    command: xinference-local --host 0.0.0.0 --port 9997
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]
              driver: nvidia
              count: all

请在控制台下面执行下面的命令

shell 复制代码
docker-compose -f "./docker-compose.yaml" up -d

注:创建容器完成后,您可以在控制台下面执行 docker ps 命令查看是否有 xinference 容器,如果有则说明制作成功。

五、访问WEB服务

请在浏览器中访问 http://localhost:9997/ ,即可访问WEB服务。

六、结语

本文介绍了如何使用 Docker 部署 Xinference 大模型服务的完整流程。首先通过 Git 获取 Xinference 的代码,然后安装 Docker 环境并构建自定义镜像。接着通过 docker-compose 配置文件设置服务端口、数据卷挂载和环境变量,并启动容器。最后,用户可以通过浏览器访问部署好的 Web 服务。指南还提供了国内镜像加速、GPU 资源分配等优化建议,以及每个步骤的验证方法,帮助用户快速完成 Xinference 的容器化部署。

相关推荐
辉的技术笔记2 小时前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
程序员老赵1 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
Java研究者2 天前
AI智能体研发 | 什么是OpenAI API协议
人工智能·大模型·openai·api·agent·智能体
小七-七牛开发者2 天前
Coding Agent 规则管理:CLAUDE.md、Skills、Hooks、Subagents 到底怎么选?
ai·大模型·agent·claude·token·loop·mcp·claudecode·ai coding
小七-七牛开发者3 天前
论文解读:DeepSeek DSpark 在真实高并发推理服务中,如何保证 Token 生成又好又快?
ai·大模型·编程·ai coding
lichenyang4533 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4533 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4533 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4533 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器