您的位置:首页 > 手游攻略 > Docker部署Ollama搭建本地AI开发环境实用指南

Docker部署Ollama搭建本地AI开发环境实用指南

作者:互联网  时间: 2026-10-09 10:50:01  

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Docker部署Ollama搭建本地AI开发环境”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

前言

落到代码里,“想开发 AI 应用,每次都要调用云端 API?免费额度用完还得付费?跑个 demo 都要担心成本?”

落到代码里,这是很多 AI 应用开发者遇到的痛点。阿里百炼、智谱 AI、OpenAI 等平台虽然提供免费额度,但用完就得付费。而且在开发调试阶段,频繁调用 API 不仅费钱,网络延迟也影响体验。

更好的方案是:本地部署大模型,开发测试随便用,无需担心额度和费用。

在这个场景下,今天这篇文章,我会带你用 Docker + Ollama 搭建一个本地 AI 开发环境,让你在开发 AI 应用时,能够更快调用本地模型进行测试。

Ollama 是什么?

Ollama 实际处理时,是一个开源的本地大模型运行工具,让你能够像采用 Docker 管理容器一样,轻松管理和运行各种开源大模型。

核心能力

  • 一键拉取模型:类似 docker pull,用 ollama pull qwen2.5:7b 即可下载模型
  • 本地推理运行:在本地机器上运行模型,无需联网
  • OpenAI 兼容 API:提供标准的 HTTP API,与 OpenAI 接口兼容
  • 多模型兼容:兼容 Llama、Qwen、DeepSeek、Mistral 等主流开源模型

工业生产中的定位

场景建议方案原因
开发测试Ollama部署轻松、API 兼容、更快迭代
个人/小团队Ollama资源占用低、开箱即用
生产环境vLLM / 云端 API高并发、高吞吐、稳定可靠
企业私有化vLLM + K8s可扩展、可坚控、高可用

总结:Ollama 的定位是本地开发测试工具在这个场景下,,而不是生产级推理引擎。如果你需支撑高同时发线上服务,应该考虑 vLLM 等专业方案。

竞品对比

工具特点适用场景
Ollama上手最轻松,类 Docker 体验开发测试、个人采用
vLLM高性能推理引擎,兼容 PagedAttention生产环境、高并发
LM Studio图形界面,适合非技术用户个人体验、无代码场景
LocalAIOpenAI API 完全兼容,功能丰富需完整 OpenAI 替代方案
llama.cpp底层推理库,性能极致需深度定制、嵌入式场景

为什么开发阶段选 Ollama?

  • 安装最轻松:一条命令搞定
  • 模型管理便于:拉取、切换、删除都很直观
  • API 兼容好:直接用 OpenAI SDK 调用
  • 资源占用低:适合日常开发机器运行

本地开发 vs 云端 API

先看下两种方案的对比:

对比项云端 API(百炼/OpenAI)本地 Ollama
调用方式HTTP APIHTTP API(兼容 OpenAI 格式)
费用免费额度用完需付费完全免费
网络依赖网络,有延迟本地调用,毫秒级响应
隐私数据上传云端数据完全本地
模型选择平台限定自由选择任意模型
适用场景生产环境开发测试、跑 Demo

核心价值:本地 Ollama 提供 OpenAI 兼容的 API 接口,你的代码几乎不用改,只需换一下 base_url,就能无缝切换。

第一步:安装 Docker Desktop

1. 下载安装

访问 Docker 官网下载安装包:

(链接已移除)

落到代码里,根据你的操作系统选择对应版本(Windows / macOS / Linux 都兼容)。

2. 验证安装

打开终端,执行:

docker --version
docker run hello-world

看到 “Hello from Docker!” 说明安装成功。

第二步:部署 Ollama 容器

1. 新建挂载目录

macOS 用户:

mkdir -p /Users/$(whoami)/docker/ollama

Linux 用户:

sudo mkdir -p /home/docker/ollama
sudo chmod 777 /home/docker/ollama

说明:macOS 的用户目录是 /Users/用户名,而 Linux 是 /home/用户名。macOS 的 /home 是受保护的系统目录,无法写入。

2. 启动容器

macOS 用户:

docker run -d 
  --name ollama
  -p 11434:11434
  -v /Users/$(whoami)/docker/ollama:/root/.ollama
  ollama/ollama

Linux 用户:

docker run -d 
  --name ollama
  -p 11434:11434
  -v /home/docker/ollama:/root/.ollama
  ollama/ollama

参数说明:

  • -p 11434:11434:暴露 API 端口,供本地应用调用
  • -v <宿主机目录>:/root/.ollama:挂载宿主机目录,模型数据持久化保存

2. 验证服务

curl http://localhost:11434

得到 Ollama is running 即成功。

第三步:拉取开发测试用模型

进入容器:

docker exec -it ollama bash

建议模型

开发测试建议轻量级模型(响应快,资源占用低):

# 中文场景推荐
ollama pull qwen2.5:7b # 通义千问,中文能力强
ollama pull qwen2.5:1.5b # 更轻量,快速测试用

# 推理场景推荐
ollama pull deepseek-r1:7b # DeepSeek R1,推理能力强
ollama pull deepseek-r1:1.5b # 轻量版

# 英文场景推荐
ollama pull llama3.2:3b # Llama 3.2,平衡性能和速度
ollama pull llama3.1:8b # 经典版本

常用命令

ollama list          # 查看已下载模型
ollama ps # 查看运行中的模型
ollama rm <模型名> # 删除模型

第四步:在代码中调用本地模型

Ollama 提供 OpenAI 兼容的 API,这意味着你能够直接复用现有代码,只需修改 base_url。

API 端点

Base URL: http://localhost:11434/v1
API Key: ollama(随便填,本地不需要验证)

Python 示例

from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama" # 本地部署,随便填
)
response = [email protected](
    model="qwen2.5:1.5b",
    messages=[
        {"role": "user", "content": "你好,介绍一下你自己"}
    ]
)
print(response.choices[0].message.content)

JavaScript/Node.js 示例

import OpenAI from 'openai';
const client = new OpenAI({
    baseURL: 'http://localhost:11434/v1',
    apiKey: 'ollama'
});
const response = await [email protected]({
    model: 'qwen2.5:1.5b',
    messages: [
        { role: 'user', content: '你好,介绍一下你自己' }
    ]
});
console.log(response.choices[0].message.content);

cURL 测试

curl http://localhost:11434/v1/ch@t/completions 
  -H "Content-Type: application/json"
  -d '{
    "model": "qwen2.5:1.5b",
    "messages": [{"role": "user", "content": "你好"}]
  }'

第五步:Spring Boot 集成 Spring AI

落到代码里,若你是 Java 开发者,Spring AI 对 Ollama 有原生兼容,借助 OllamaChatModel 能够直接注入采用。

1. 添加依赖

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-ollama</artifactId>
    <version>1.1.0</version>
</dependency>

2. 添加自动设置 Starter

踩坑提醒:网上很多教程建议采用 spring-ai-ollama-spring-boot-starter,但它的最新版是 1.0.0-M6。如果你的项目中 Spring AI 版本较新(如 1.1.0),直接引入会导致启动报错。

原因:Spring AI 新版本将 spring-ai-spring-boot-autoconfigure 拆分成了多个模块,而旧的 starter 依赖的自动设置类与新版本存在 Bean 冲突。

解决方案:采用新版单独的自动设置模块:

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-autoconfigure-model-ollama</artifactId>
    <version>1.1.0</version>
</dependency>

3. 设置 application.yml

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      ch@t:
        model: deepseek-r1:7b

4. 注入 OllamaChatModel

设置完成后,能够直接注入 ollamaChatModel:

@Autowired
@Qualifier("ollamaChatModel")
private ChatModel ollamaChatModel;

5. 完整调用示例

@RestController
@RequestMapping("/ai/ollama")
public class OllamaChatController {
    @Autowired
    @Qualifier("ollamaChatModel")
    private ChatModel ollamaChatModel;
    @GetMapping("/stream/ch@t")
    public Flux<String> streamChat(HttpServletResponse response) {
        response.setCharacterEncoding("UTF-8");
        Flux<ChatResponse> stream = ollamaChatModel.stream(new Prompt("你是谁?"));
        return stream.map(resp -> resp.getResult().getOutput().getText());
    }
}

落到代码里,启动应用后,访问这个接口,就能调用到本地部署的 DeepSeek 模型了。

开发工作流建议

建议的开发流程:

1. 本地开发 → 调用 Ollama(localhost:11434)
2. 本地测试 → 继续用 Ollama,更快迭代
3. 部署上线 → 切换到云端 API(阿里百炼/智谱/OpenAI)

切换只需改设置:

# 开发环境
spring.ai.ollama.base-url: http://localhost:11434
# 生产环境
spring.ai.openai.base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
spring.ai.openai.api-key: ${DASHSCOPE_API_KEY}

常用问题

Q1:模型响应太慢?

选择更小的模型参数,如 qwen2.5:1.5b 或 deepseek-r1:1.5b,响应速度会快很多。

Q2:内存不够?

理解这一步时,8GB 内存建议用 7B 以下的模型,16GB 能够尝试 14B 模型。

Q3:如何查看 API 是否正常?

curl http://localhost:11434/v1/models

得到模型列表即正常。

Q4:容器重启后模型还在吗?

落到代码里,是的,模型存储在挂载的宿主机目录中(macOS: /Users/用户名/docker/ollama,Linux: /home/docker/ollama),容器重启或重建都不会丢失。

总结

搭建本地 AI 开发环境,核心就三步:

  1. 安装 Docker Desktop → 容器运行环境
  2. 部署 Ollama 容器 → 本地模型服务
  3. 代码中调用 API → OpenAI 兼容接口

核心价值:

  • 开发调试阶段,无需担心 API 额度和费用
  • 本地调用,毫秒级响应,迭代更快
  • OpenAI 兼容接口,代码几乎不用改
  • 部署上线时,只需切换 base_url 即可

参考资料:

  • Ollama 官方文档:
    (链接已移除)
  • Ollama OpenAI 兼容 API:
    (链接已移除)
  • Spring AI 文档:
    (链接已移除)

实际处理时,总的来说,Docker适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4