基于 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 -v 和 docker-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 的容器化部署。

相关推荐
螺蛳粉 螺蛳粉5 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
wefg15 小时前
【Docker】镜像相关指令
运维·docker·容器
java_logo7 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
死磕音视频7 小时前
Open WebUI 入门:用 Docker 装上本地对话界面并连接 Ollama
docker·ollama·本地大模型·open webui
分布式存储与RustFS7 小时前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
n112128 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
小白的码BUG之路8 小时前
K8s -- 搭建过程中经常遇到的问题
云原生·容器·kubernetes
慈云数据8 小时前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器
螺蛳粉 螺蛳粉9 小时前
第 03 篇:为什么 K8s 的最小调度单元是 Pod 而不是容器:pause 容器与边车模式(底座认知 03)
docker·云原生·容器·kubernetes·etcd·运维排障·kube-apiserver
艾伦_耶格宇9 小时前
【kubernetes - 1.28版本】-9 K8S-dashbord可视化界面
云原生·容器·kubernetes