目录
[2.Almalinux 部署 Ollama](#2.Almalinux 部署 Ollama)
[3.Almalinux 升级 DeepSeek-R1](#3.Almalinux 升级 DeepSeek-R1)
[4.Almalinux 部署 docker](#4.Almalinux 部署 docker)
[5. docker 部署 DeepSeek-R1](#5. docker 部署 DeepSeek-R1)
[6.Almalinux 部署 Cpolar (内网穿透)](#6.Almalinux 部署 Cpolar (内网穿透))
一、实验
1.环境
(1)主机
表1 主机
|-----------|-----|----------------------|-----------------|------------|
| 系统 | 版本 | 软件 | IP | 备注 |
| Almalinux | 9.4 | Ollama Docker Cpolar | 192.168.204.150 | 配置:12C 16G |
(2)Termius连接主机

(3)查看系统版本
bash
cat /etc/os-release
(4)DeepSeek-R1版本
表2 版本
|------|--------------------------------------|---------|
| 模型 | 显存/内存 | 备注 |
| 1.5B | 需要4核CPU + 5GB内存 最低3GB显存(GTX1060+) | |
| 7B | 需要8核CPU + 9GB内存 最低6GB显存(GTX1650+) | |
| 8B | 需要8核CPU + 10GB内存 最低8GB显存(GTX1660+) | |
| 14B | 需要12核CPU + 16GB内存 最低12GB显存(RTX3070+) | |
| 32B | 需要16核CPU + 36GB内存 推荐24GB显存(RTX4090) | |
| 70B | 需要32核CPU + 75GB内存 需要多卡(2xA100) | 家用电脑不适用 |
(5)查看cpu与内存
bash
lscpu

bash
free -m

(6)目标版本
主机配置:12C 16G
所以目标版本:14B
2.Almalinux 部署 Ollama
(1) 查阅
bash
https://ollama.com/download/linux

(2) 预先安装软件包
安装包pciutils (查看pci总线设备信息)
安装包lshw (查看硬件信息)
bash
yum install -y pciutils lshw

(3)下载
bash
curl -fsSL https://ollama.com/install.sh | sh
最后提示仅CPU模式

(4)修改配置
添加配置(让物理机可以访问)
bash
vim /etc/systemd/system/ollama.service
......
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
......

修改前:

修改后

(5)重载配置
bash
systemctl daemon-reload

(6)重启服务
bash
systemctl restart ollama

(7)查看端口
bash
ss -anlp | grep 11434

(8)访问
bash
127.0.0.1:11434

物理机访问 (linux需要关闭防火墙与selinux)
bash
http://192.168.204.150:11434/

3.Almalinux 升级 DeepSeek-R1
(1) 查阅
bash
https://ollama.com/library/deepseek-r1
(2) 选择
下拉选择14b

(3)复制命令执行
bash
ollama run deepseek-r1:14b

(4)提问
bash
devops含义

(5)退出
bash
ctrl +d 或 /bye

这里输入 /bye

4.Almalinux 部署 docker
(1) 安装docker
安装软件包yum-utils
bash
yum install yum-utils -y

添加repo源
bash
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装
bash
yum install docker-ce-24.0.6 -y

(2)开机启动
bash
systemctl start docker
systemctl enable docker

(3)查阅
bash
https://developer.aliyun.com/article/29941
(4)docker镜像加速
修改配置文件
bash
vim /etc/docker/daemon.json
XXXXXXXX为自己的镜像加速配置
bash
{
"registry-mirrors":["https://XXXXXXXX.mirror.aliyuncs.com","https://docker.lmirror.top","https://docker.m.daocloud.io", "https://hub.uuuadc.top","https://docker.anyhub.us.kg","https://dockerhub.jobcher.com","https://dockerhub.icu","https://docker.ckyl.me","https://docker.awsl9527.cn","https://docker.laoex.link","https://ghcr.nju.edu.cn"]
}
(5)重启
bash
systemctl restart docker

5. docker 部署 DeepSeek-R1
(1)查阅
Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种 LLM 运行器(如Ollama)和与OpenAI 兼容的 API,并内置RAG 推理引擎,使其成为强大的 AI 部署解决方案
bash
Github开源地址:
https://github.com/open-webui/open-webui
Open WebUI 文档地址:
https://docs.openwebui.com/features/
(2)拉取镜像
bash
docker pull ghcr.io/open-webui/open-webui:main
如果拉不动,可以切换其他源拉取
bash
# 如果拉不动的话切换镜像源
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.5.18
# 重命名镜像(如果是通过代理下载的)
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.5.18 ghcr.io/open-webui/open-webui:main
# 删除代理镜像(如果是通过代理下载的)
docker rmi swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.5.18
拉取

重新打标签

删除原有镜像

(3)查看镜像
bash
docker images

(4)环境变量
表3 环境变量
|---------------------|-----------------------|----|
| 变量 | 值 | 备注 |
| OLLAMA_API_BASE_URL | Ollama 服务器的地址 | |
| WEBUI_SECRET_KEY | 密码,可用 Vaultwarden 生成的 | 可选 |
(5)运行
运行容器(仅CPU)
bash
docker run -d -p 9000:8080 -e OLLAMA_BASE_URL=http://192.168.204.150:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
查看容器
bash
docker ps

(6)访问
点击开始使用
bash
http://192.168.204.150:9000

(7)创建账号密码

创建完会自动登录

(8)确认开始使用

(9)进入界面

(10)提问
bash
devops含义

回答

6.Almalinux 部署 Cpolar (内网穿透)
(1) 官网
https://www.cpolar.com
(2)一键脚本安装命令
bash
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
(3)开机自启
bash
systemctl enable cpolar

(4)启动cpolar服务
bash
systemctl start cpolar
(5) 监听服务端口
bash
netstat -antlp | grep 9200

(6)浏览器访问
bash
http://localhost:9200

登录仪表盘 (输入注册的账号密码)

7.使用cpolar内网穿透
(1)内网访问open webui
(2)固定二级子域名地址
登录cpolar官网点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址
bash
https://www.cpolar.com

(3)创建隧道
bash
域名类型:选择二级子域名
预留的http地址:复制粘贴官网保留成功的地址,Ollama
地区选择:China VIP

(4) 查看隧道列表

(4)查看在线隧道列表

(5)二级子域名地址访问
http访问
bash
http://newollama.vip.cpolar.cn


https访问
bash
https://newollama.vip.cpolar.cn


二、问题
1.构建容器失败
(1)问题
问题一
bash
ARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested

问题二
bash
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "-e": executable file not found in $PATH: unknown

(2)原因分析
问题一:镜像使用了arm平台,与当前系统不匹配;
问题二:尝试重启docker 内存不能分配问题解决
(2)解决方法
问题一:
删除旧镜像

重新下载linux/amd64 镜像并构建
问题二:
bash
msg="stream copy error: reading from a closed fifo"

重启docker

成功:
