docker离线部署gpt-oss-20b流程,从下载到安装再到可以使用

背景:内网环境使用大模型前的准备
联网

  • windows系统我选择安装docker desktop

  • 安装好后,需要跟着docker destop提示 下载子系统linux

  • docker hub中搜索可用镜像

  • ollama
shell 复制代码
# 1. 下载 Docker 镜像(需联网)
docker pull ollama/ollama

# 2. 导出镜像为离线包
docker save ollama/ollama -o ollama-image.tar
  • 大模型拉取到ollama容器中
bash 复制代码
# 1. 确保模型数据在容器内部(不在卷中)
# 重新运行容器,不使用卷挂载
docker run -d --name ollama-no-volume ollama/ollama

# 2. 在这个容器中拉取模型
docker exec -it ollama-no-volume ollama pull gpt-oss:20b

# 3. 提交这个容器
docker commit ollama-no-volume gpt-oss-complete:latest

# 4. 保存镜像(这次应该包含模型数据)
docker save gpt-oss-complete:latest -o gpt-oss-complete.tar
  • 命令执行截图
  • 离线
bash 复制代码
# 1. 传输文件到离线服务器
scp ollama-image.tar user@offline-server:/data
scp gpt-oss-20b-model.tar user@offline-server:/data

# 2. 加载 Docker 镜像
docker load -i /data/ollama-image.tar

# 3. 导入模型
mkdir -p /mnt/models
docker run -it -v /mnt/models:/root/.ollama ollama/ollama ollama import /data/gpt-oss-20b-model.tar

# 4. 启动服务(带 GPU 支持)
docker run -d \
  --name ollama_gpt \
  --gpus all \
  -v /mnt/models:/root/.ollama \
  -p 11434:11434 \
  ollama/ollama
  • 验证服务
bash 复制代码
# 1. 检查容器状态
docker logs ollama_gpt | grep "model loaded"

# 2. 发送测试请求(JSON 格式)
curl -s http://localhost:11434/api/generate -d '{
  "model": "gpt-oss:20b",
  "prompt": "Docker离线部署的优势",
  "stream": false
}' | jq .response

# 预期输出:
# "Docker离线部署可在隔离环境中运行模型,无需依赖外部网络..."
  • 资源优化配置根据设备显存调整 GPU 层数:
bash 复制代码
# 高端 GPU(40GB+)
docker exec ollama_gpt ollama run gpt-oss:20b --gpu-layers 35

# 中端 GPU(24GB)
docker exec ollama_gpt ollama run gpt-oss:20b --gpu-layers 20

# 纯 CPU 模式(量化版本)
docker exec ollama_gpt ollama run gpt-oss:20b-q4_0
  • 常见问题排查

拓展

  • windows desktop占用c盘空间,迁移到其他盘符
  • 配置docker desktop阿里镜像加速器
    • 登录你的阿里云账号 ,访问这个链接, 将如下内容加到配置中
json 复制代码
{
  "registry-mirrors": ["https://1i***n.mirror.aliyuncs.com"]
}
相关推荐
北邮刘老师19 小时前
【智能体协议解析】一个完整的智能体互联协作流程
人工智能·大模型·智能体·智能体互联网
杨浦老苏21 小时前
安全共享敏感信息的共享工具Hemmelig.app
docker·群晖·密码·阅后即焚
眠りたいです21 小时前
Docker:容器虚拟化技术基础-namespace,cgroups,资源管理与LXC
运维·docker·中间件·容器
新手小白*21 小时前
K8s 中的 CoreDNS 组件
云原生·容器·kubernetes
speedoooo1 天前
未来的App不再需要菜单栏?
前端·ui·容器·小程序·web app
java_logo1 天前
宝塔 Linux 面板 Docker 容器化部署指南
linux·运维·docker·宝塔·docker部署宝塔·宝塔部署教程·docker部署baota
用户3521802454751 天前
🚀 Milvus 实战部署全记录
数据库·docker·ai编程
令狐囱1 天前
宝塔docker 运行 go-zero-looklook项目
docker·容器·golang
yBmZlQzJ1 天前
内网穿透 + 域名解析:到底解决了什么核心问题?
运维·经验分享·网络协议·docker·容器
小挪号底迪滴1 天前
Docker容器化实践:从开发到生产的完整流程
运维·docker·容器