1. 无网环境部署的核心挑战与解决方案在完全隔离外网的Linux服务器上部署AI服务栈就像在荒岛上搭建现代化实验室。我曾在内网科研机构遇到过这样的场景服务器被物理隔离但团队急需本地化的大模型能力处理敏感数据。这种环境下传统依赖网络下载的部署方式完全失效必须采用离线包定制脚本的组合方案。无网部署最大的三个拦路虎是依赖项缺失、容器网络隔离和硬件适配。以Ollama为例正常安装时会自动下载CUDA驱动和模型文件但在离线环境中这些都需要预先打包。我的经验是建立离线资源库包含以下必备组件Ollama二进制安装包对应系统架构版本DeepSeek R1模型GGUF文件建议Q4量化版Open WebUI的Docker镜像tar包所有依赖的.deb/.rpm安装包提示建议使用相同架构的联网机器预先下载所有资源通过内网传输工具如scp或物理介质转移至目标服务器2. Ollama离线安装实战2.1 定制化安装脚本改造官方提供的install.sh脚本默认会联网下载资源我们需要对其进行手术式改造。关键修改点包括注释掉所有curl下载逻辑添加本地文件检测逻辑保留systemd服务配置功能# 修改后的关键代码段 LOCAL_OLLAMA_TGZ./ollama-linux-${ARCH}.tgz if [ -f $LOCAL_OLLAMA_TGZ ]; then status Installing from local file $LOCAL_OLLAMA_TGZ $SUDO tar -xzf $LOCAL_OLLAMA_TGZ -C $OLLAMA_INSTALL_DIR else error Local Ollama package not found at $LOCAL_OLLAMA_TGZ fi2.2 模型导入的坑与技巧离线环境下导入GGUF模型需要特别注意文件权限问题。我建议建立标准化目录结构/data/ollama/ ├── bin # 可执行文件 ├── model # 模型存储 │ └── deepseek-r1-32b-q4 │ ├── model.gguf │ └── Modelfile └── open-webui # WebUI数据卷Modelfile的经典配置模板FROM ./model.gguf PARAMETER num_ctx 4096 SYSTEM 你是DeepSeek-R1模型专门用于科研辅助 3. Docker容器的网络迷宫破解3.1 离线加载镜像的正确姿势在没有镜像仓库的环境下需要先在联网机器执行docker pull dyrnq/open-webui:main docker save -o open-webui.tar dyrnq/open-webui:main将tar包传输到目标服务器后docker load -i open-webui.tar3.2 主机通信的魔法参数最易出错的OLLAMA_BASE_URL配置必须使用特殊host名docker run -d \ -p 31425:8080 \ --add-hosthost.docker.internal:host-gateway \ -v /data/ollama/open-webui:/app/backend/data \ -e OLLAMA_BASE_URLhttp://host.docker.internal:11434 \ --name open-webui \ dyrnq/open-webui:main这个host.docker.internal:host-gateway组合是打通容器与主机网络的关键咒语能让容器访问到主机上运行的Ollama服务。4. 生产环境调优指南4.1 系统服务化配置通过systemd确保服务稳定性# /etc/systemd/system/ollama.service [Service] EnvironmentOLLAMA_HOST0.0.0.0:11434 EnvironmentCUDA_VISIBLE_DEVICES3,2 EnvironmentOLLAMA_MODELS/data/ollama/model执行权限控制sudo chown -R ollama:ollama /data/ollama sudo chmod 750 /data/ollama/model4.2 性能优化参数在Modelfile中添加GPU加速参数PARAMETER numa PARAMETER n_gpu_layers 99 PARAMETER flash_attention 1对于3090显卡建议添加环境变量export HIP_VISIBLE_DEVICES3 export HSA_OVERRIDE_GFX_VERSION10.3.05. 故障排查手册症状1Ollama服务启动失败检查/var/log/syslog中的错误信息验证模型文件权限ollama用户需可读确认CUDA驱动版本兼容性症状2Open WebUI白屏查看容器日志docker logs open-webui禁用联网检查docker exec -it open-webui sed -i s/check_network: true/check_network: false/ /app/backend/config.yaml症状3GPU未调用运行ollama ps查看GPU内存占用在容器内执行nvidia-smi验证驱动映射尝试设置CUDA_VISIBLE_DEVICES0在内网某金融机构的实际部署中我们遇到容器无法访问主机的问题。最终发现是防火墙规则阻止了11434端口添加以下规则后解决sudo iptables -I INPUT -p tcp --dport 11434 -j ACCEPT