从零开始搭建内网 Ollama AI 环境
Ollama 与 Docker 离线安装完全指南
本文将详细介绍如何在没有网络连接的环境中安装 Ollama、Docker 以及 AnythingLLM,适用于内网或安全隔离环境的 AI 部署需求。
准备工作
确认系统架构
在开始之前,需要确认您的 Linux 系统架构以下载对应的安装包:
uname -m;
lscpu
Ollama 离线安装
下载安装包
访问 Ollama 官方发布页面:https://github.com/ollama/ollama/releases/tag/v0.5.12
根据您的系统平台选择并下载对应的安装包:
CUDA 相关依赖(可选)
如果您需要 NVIDIA GPU 支持,请从以下地址下载 CUDA 驱动: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local
模型准备与部署
方法一:从现有环境转换模型
- 在有网络连接的环境中,使用
ollama pull
下载所需模型 - 如果找不到模型下载之后放在哪里,可以使用以下命令查找模型存储位置:
find / -name .ollama
-
找到模型文件并准备转移:
- 重命名模型文件:
mv sha256-6340dc3229b0d08ea9cc49b75d4098702983e17b4c096d57afbbf2ffc813f2be /home/test/offline-ollama/deepseek-r18b.gguf
-
保存模型配置信息到 Modelfile:
- 修改 Modelfile 中
FROM
行,指向实际的 .gguf 模型文件(可使用相对或绝对路径)
在内网环境部署模型
- 将 Modelfile 和 .gguf 模型文件拷贝到内网机器
- 执行以下命令创建模型:
ollama create mymodel -f /path/to/Modelfile
Docker 离线安装 (Linux)
下载 Docker 静态二进制文件
访问 Docker 官方下载页面:https://download.docker.com/linux/static/stable/x86_64/
选择合适的版本下载:
安装步骤
- 解压 Docker 压缩包:
tar -xvf docker-28.0.0.tgz
- 赋予可执行权限并复制到系统目录:
chmod +x docker/* cp docker/* /usr/bin
- 创建 Docker 服务并启动:
systemctl daemon-reload systemctl start docker systemctl status docker
AnythingLLM 部署
准备工作
- 在有网络连接的环境中,下载 AnythingLLM 镜像:
docker pull mintplexlabs/anythingllm docker save -o anythingllm.tar mintplexlabs/anythingllm
- 确认镜像已保存:
内网环境部署
-
将 Docker 安装包和 AnythingLLM 镜像文件传输到内网服务器
- 加载 AnythingLLM 镜像:
docker load -i anythingllm.tar
- 设置存储目录权限:
chmod -R 777 $HOME/anythingllm
- 启动 AnythingLLM 服务:
export STORAGE_LOCATION=$HOME/anythingllm && \ mkdir -p $STORAGE_LOCATION && \ touch "$STORAGE_LOCATION/.env" && \ docker run -d -p 3001:3001 --cap-add SYS_ADMIN \ -v ${STORAGE_LOCATION}:/app/server/storage \ -v ${STORAGE_LOCATION}/.env:/app/server/.env \ -e STORAGE_DIR="/app/server/storage" \ -e HOST="0.0.0.0" \ mintplexlabs/anythingllm
-
检查存储目录:
- 访问服务(IP:3001):
Windows Server Docker 安装参考
-
查看 Windows 版本号:
-
下载对应的 Docker 安装包:
-
使用 PowerShell 进入下载目录:
-
解压文件:
-
进入解压目录找到 docker 和 dockerd 可执行文件:
错误记录
- docker启动的时候遇到cgroups的错误,将以下的脚本内容保存到一个sh文件中,然后执行。
#!/bin/sh
# Copyright 2011 Canonical, Inc
# 2014 Tianon Gravi
# Author: Serge Hallyn <[email protected]>
# Tianon Gravi <[email protected]>
set -e
# for simplicity this script provides no flexibility
# if cgroup is mounted by fstab, don't run
# don't get too smart - bail on any uncommented entry with 'cgroup' in it
if grep -v '^#' /etc/fstab | grep -q cgroup; then
echo 'cgroups mounted from fstab, not mounting /sys/fs/cgroup'
exit 0
fi
# kernel provides cgroups?
if [ ! -e /proc/cgroups ]; then
exit 0
fi
# if we don't even have the directory we need, something else must be wrong
if [ ! -d /sys/fs/cgroup ]; then
exit 0
fi
# mount /sys/fs/cgroup if not already done
if ! mountpoint -q /sys/fs/cgroup; then
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
fi
cd /sys/fs/cgroup
# get/mount list of enabled cgroup controllers
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
mkdir -p $sys
if ! mountpoint -q $sys; then
if ! mount -n -t cgroup -o $sys cgroup $sys; then
rmdir $sys || true
fi
fi
done
# example /proc/cgroups:
# #subsys_name hierarchy num_cgroups enabled
# cpuset 2 3 1
# cpu 3 3 1
# cpuacct 4 3 1
# memory 5 3 0
# devices 6 3 1
# freezer 7 3 1
# blkio 8 3 1
# enable cgroups memory hierarchy, like systemd does (and lxc/docker desires)
# https://github.com/systemd/systemd/blob/v245/src/core/cgroup.c#L2983
# https://bugs.debian.org/940713
if [ -e /sys/fs/cgroup/memory/memory.use_hierarchy ]; then
echo 1 > /sys/fs/cgroup/memory/memory.use_hierarchy
fi
exit 0
flowchart LR
A[开始部署] --> B{选择操作系统}
B -->|Linux| C[准备Docker静态包]
%% 主流程横向排列
subgraph 主部署流程
direction TB
C --> E[解压安装包]
E --> F[设置可执行权限]
F --> G[复制到系统目录]
G --> H[启动Docker服务]
H --> I[加载AnythingLLM镜像]
I --> J[创建存储目录]
J --> K[运行容器]
end
%% 验证流程横向排列
subgraph 验证流程
direction TB
K --> O[验证服务状态]
O --> P{是否成功?}
P -->|是| Q[部署完成]
P -->|否| R[检查错误日志]
R --> B
end
版权声明: 如无特别声明,本文版权归 sshipanoo 所有,转载请注明本文链接。
(采用 CC BY-NC-SA 4.0 许可协议进行授权)
本文标题:《 Ollama 完整离线安装指南 》
本文链接:http://0.0.0.0:3015/ai/ollama-offline-install.html
本文最后一次更新为 天前,文章中的某些内容可能已过时!