Ollama是个大模型本地部署开源平台,官网有很多支持的开源模型。部署方便,当然还有很多开源平台。下面介绍两种安装的记录。

一、安装到Linux主机

目标:Ollama运行在宿主机,Docker中使用Ollama.

1. 管理当前环境,安装docker等

2. Ollama 安装运行

刚开始我决定安装ollama 在docker hub提供的image,参考官网:hub.docker.com-Ollama,后来我发现太大了,而且里面包含对GPU的支持,我不需要且占用空间大。所以选择将ollama安装到主机上。

这个博客Linux安装Ollama及大模型API接口映射详细教程 - 技术Z先生的文章 - 知乎提供了三种下载方式。为了兼顾国内用户下载速率,我选择手动从github下载,先去 ollama官网 挑选一个版本,我选择ollama-linux-amd64.tar.zst(v0.14.3),因为空间占用小(虽然压缩包1.6G,但解压后可执行文件就36M),且支持CPU。

下载:

wget https://github.com/ollama/ollama/releases/download/v0.14.3/ollama-linux-amd64.tar.zst

解压:

tar -I zstd -xvf ollama-linux-amd64-rocm.tar.zst

后得到两个目录,把 bin/ollama 放到 用户目录:

mkdir -p ~/.local/bin
cp bin/ollama ~/.local/bin/ollama

# 修改归属和权限
sudo chown lyrix:lyrix ~/.local/bin/ollama # 将文件 ~/.local/bin/ollama 的所有者(owner)和所属用户组(group)都修改为用户
chmod 755 ~/.local/bin/ollama

# 确保 PATH 里有 ~/.local/bin
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export OLLAMA_MODELS="$HOME/.ollama/models"' >> ~/.bashrc
source ~/.bashrc   #这个只能在服务端使用

OLLAMA_HOST="0.0.0.0:11434" ollama serve

启动:

OLLAMA_HOST=0.0.0.0:11434 ollama serve # 0.0.0.0:对外网卡开放

另外打开一个终端,验证 Ollama 是否正在运行:

ollama -v
curl http://localhost:11434  #应返回 "Ollama is running"

3. 例:LangGraph 在docker运行使用宿主机的Ollama server

首先在宿主机实现该LangGraph工程。使用uv工具管理。然后我想在docker中把该工程跑起来,分如下几步:

  • 明确你的 uv 工程结构(pyproject.toml / uv.lock
  • 选择合适的 Python 基础镜像(确定python版本,选择基础镜像:python:3.11-slim)
  • 在 Dockerfile 里安装 uv
  • uv sync 安装依赖(而不是 pip)
  • 定义容器启动命令(CMD / ENTRYPOINT)

下面给出关键步骤所需文件:

LangGraph 官方并没有维护docker镜像,只是提供了python库,我需要 构建一个生产级 Docker 镜像

# syntax=docker/dockerfile:1

# 使用官方 Python slim 镜像
FROM python:3.11-slim

# 设置工作目录
WORKDIR /app

# 升级 pip 并安装 uv(固定版本)
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir "uv==0.9.26"

# 复制依赖文件
COPY pyproject.toml uv.lock* ./

# 6. 安装依赖,强制使用 uv.lock
# RUN uv sync --frozen # 强制使用 uv.lock 不一定能行
RUN uv sync --no-dev # 仅依据 pyproject.toml,同步生产依赖(不安装 dev)

# 复制应用代码
COPY langgraph_agent.py .

# 创建非 root 用户(安全最佳实践)
# RUN useradd --create-home --shell /bin/bash appuser
# USER appuser

# 暴露端口(如果你用 FastAPI/Flask)
EXPOSE

# 启动命令,uv run 则不用手动激活 venv,uv 自动处理
CMD ["uv", "run", "python", "langgraph_agent.py"]

构建镜像(花用时 124.3s,251MB):

docker image build -t agent_prj:0.0.1 .

需要确保宿主机中的 Ollama server (使用端口 11434)已经启动:

OLLAMA_HOST=0.0.0.0:11434 ollama serve # 0.0.0.0:对外网卡开放

运行容器(将docker的8080映射到本机8080端口):

# 用了 --network=host 后,-p 端口映射参数会失去意义(因为容器已经直接用宿主机网络了)
docker container run --rm --network=host agent_prj:0.0.1
	# --rm : 容器停止后自动删除节省空间
    # --network=host : 让容器直接使用宿主机的网络(而不是 Docker 默认的虚拟网络)
    # 临时先这样,能用就行

二、Win11安装Ollama框架(换VPN加速)

参考:Windows下载安装Ollama本地运行大模型,新手详细

  • 下载:Ollama主页:https://ollama.com/ ,支持macOS, Linux 和 Windows 系统,点击下载按钮,获取OllamaSetup.exe安装程序。(官网下载太慢了,切换成上海的VPN快了一百倍。)安装完成后,会在电脑右下角出现Ollama图标,可以不用先启动Ollama,先退出做一些必要路径的配置!

  • 环境配置

    • 关闭开机自启动(可选):进入 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup路径,删除其中的Ollama.lnk快捷方式文件,阻止它自动启动。

    • 配置环境变量:Ollama 的默认模型存储路径在:C:\Users\%username%\.ollama\models,可以这样更改模型存储路径:打开「系统环境变量」,新建一个系统变量OLLAMA_MODELS ,然后设置ollama模型的存储路径。变量名:OLLAMA_MODELS变量值(路径):D:\Work\ollama\models 。

    • 配置端口(可选):Ollama默认监听端口http://localhost:11434,如果要在网络中提供服务,请修改 API 的侦听地址和端口(在系统环境变量里设置):变量名:OLLAMA_HOST 变量值(端口)::8000,因为我是在公司内网,这样设置完还得改防火墙,所以先不设置了吧。

    • 允许浏览器跨域请求(可选):

      Ollama 默认只允许来自127.0.0.1和0.0.0.0的跨域请求,如果你计划在其它前端面板中调用 Ollama API,比如Open WebUI,建议放开跨域限制:变量名:OLLAMA_ORIGINS变量值:*

  • 运行Ollama:将上述更改的环境变量保存后,在「开始」菜单中找到并重新启动 Ollama。或者在 cmd 也可通过ollama list 启动并查看当前模型。建议运行 deepseek-r1:1.5b 这个小模型。

三、GPU的问题(暂时搁置

在本地部署大语言模型时,传统方案往往依赖NVIDIA GPU和CUDA生态。而对于没有配备独立显卡的普通家用台式机或笔记本,如果只使用CPU和内存本地部署时,通常无法得到一个令人满意的输出速度。但是如果在Windows端直接部署Ollama,intel弄了个优化后的Ollama,开箱即用,参考:让Ollama使用Intel Ultra/Arc GPU加速模型推理。将速度提升一倍。在Linux上部署也存在这个问题。使用docker也有存在 容器与主机 GPU / 驱动版本强绑定的问题

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐