AI 工具全卡在 Docker 上?十分钟把地基焊死,后面一马平川
AI 工具全卡在 Docker 上?十分钟把地基焊死,后面一马平川
本文基于 Docker Desktop 4.3x(2026年7月最新版)编写。所有命令均经过验证,可直接复制运行。
Docker 是本地 AI 全家桶的地基——Dify、n8n、Open WebUI 全部跑在 Docker 容器里。Docker 装不好,后面的工具一个都跑不起来。
阅读提示:如果你的 Docker Desktop 已经装好且能正常
docker run hello-world,可以直接跳到第四节看数据卷和网络——前面三节是纯安装和配置。
你是不是也卡在这一步
想装 Dify,教程说 docker run——
- 鲸鱼图标一直转,WSL2 报错看不懂?
docker命令找不到,PATH 没生效?- 镜像拉了半小时进度条不动?
- 好不容易装好了,第二天重启电脑全没了?
- C 盘突然爆满,发现 Docker 镜像吃了 30GB?
这些问题 90% 的人都遇到过。这篇不讲 Docker 原理,不讲镜像怎么构建。只做一件事:把 Docker 装好、配好、跑通验证、排掉所有常见的坑。
没有 Docker 的世界 有 Docker 的世界
┌──────────┐ ┌──────────┐
│ 想装 Dify │ │ 想装 Dify │
└────┬─────┘ └────┬─────┘
│ │
├─→ 装 Node.js ├─→ docker run dify
├─→ 装 Python │
├─→ 装 PostgreSQL │
├─→ 装 Redis │
├─→ 配数据库连接 │
├─→ 装依赖包(npm install 失败) │
├─→ 改配置文件 │
├─→ 启动服务(端口冲突) │
└─→ 报错了,不知道哪个组件挂了 │
镜像自动拉取 → 容器自动启动
总耗时:一条命令,等下载完就行
Docker vs 其他部署方式
| 对比维度 | Docker | 直接安装 | 虚拟机 | Anaconda |
|---|---|---|---|---|
| 安装难度 | 双击 exe | 各工具不同 | 装系统 | 装 conda |
| 环境隔离 | 容器隔离 | 混在一起 | 完全隔离 | 半隔离 |
| 资源占用 | 低(共享内核) | 最低 | 高(完整 OS) | 低 |
| 多工具共存 | 一个容器一个工具 | 容易冲突 | 可以但太重 | 容易冲突 |
| 卸载干净度 | 删容器就干净 | 残留注册表 | 删虚拟机 | 残留环境 |
| 适合场景 | AI 全家桶 | 单一工具 | 完整测试环境 | Python 数据科学 |
一句话:Docker 在一键安装、环境隔离、多工具共存、卸载干净这几点上做得最省心。后面所有 AI 工具都依赖它。
一、安装——三平台通吃
Windows 安装(90% 的人走这条)
第 1 步:开虚拟化
任务管理器 → 性能 → CPU,看右下角「虚拟化」是否为「已启用」。
如果是「已禁用」,重启进 BIOS:找到 Intel VT-x 或 AMD-V 选项,改成 Enabled,保存重启。
这步不做,Docker 装完也启动不了,报错
WSL2 installation is incomplete。
第 2 步:装 WSL2
PowerShell 管理员运行:
wsl --install
装完重启电脑。重启后确认:
wsl --status
看到 Default Version: 2 就对了。如果显示版本 1,执行:
wsl --set-default-version 2
WSL2 是 Docker Desktop 在 Windows 上的运行基础。它让 Docker 容器跑在一个轻量级 Linux 内核里,性能比旧版 Hyper-V 好得多。
第 3 步:装 Docker Desktop
去 docker.com 下载 Docker Desktop for Windows(约 500MB 的 exe),双击安装。
安装界面有两个勾选框:
- Use WSL 2 instead of Hyper-V:勾上
- Add shortcut to desktop:勾上
点 OK,等安装完成,重启电脑。
重启后 Docker Desktop 自动启动,任务栏出现鲸鱼图标。等它变绿(稳定运行),第一次启动可能要 1~2 分钟。
第 4 步:验证
# 查看版本
docker --version
# Docker version 27.x.x
# 运行测试容器
docker run hello-world
看到 Hello from Docker! 就装好了。
# 查看 Docker 系统信息
docker info
# 关注几行:
# Operating System: Docker Desktop (运行环境)
# Total Memory: 15.6 GB (可用内存)
# Server Version: 27.x.x (引擎版本)
macOS 安装
去 docker.com 下载 Docker Desktop for Mac。
- Apple Silicon(M1/M2/M3/M4):下 ARM 版本(Apple Silicon)
- Intel 芯片:下 Intel 版本(Intel Chip)
下载 .dmg 文件,双击打开,把 Docker 拖进 Applications。首次打开输入管理员密码,等 Docker Engine 启动完成。
docker --version
docker run hello-world
macOS 不需要 WSL2,装完直接能用。Apple Silicon 跑 ARM 镜像性能很好,跑 x86 镜像会走 Rosetta 翻译,稍慢但兼容。
Linux 安装
Ubuntu/Debian 一条命令:
curl -fsSL https://get.docker.com | sh
脚本自动检测发行版,装 Docker Engine + Docker CLI + docker compose,注册 systemd 服务。
# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker
# 让当前用户免 sudo 调用 docker
sudo usermod -aG docker $USER
# 重新登录后生效
# 验证
docker --version
docker run hello-world
Linux 不需要 Docker Desktop,直接装 Docker Engine 就行,更轻量、更省内存。
二、装完必须做的 5 件事
1. 配国内镜像加速(不配等于不能用)
Docker 默认从 Docker Hub 拉镜像,国内速度感人——一个 1GB 镜像能拉半小时。配完加速后速度飙到几十 MB/s。
打开 Docker Desktop → Settings → Docker Engine,改成:
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
],
"experimental": false,
"builder": {
"gc": {
"defaultKeepStorage": "20GB"
}
}
}
点 Apply & Restart。
验证加速是否生效:
docker info | grep -A 5 "Registry Mirrors"
# 输出里能看到你配的加速地址就对了
国内镜像加速地址会变动,如果上面的失效了,搜索「Docker 国内镜像加速 2026」找最新的。
2. 限制 WSL2 内存(防止吃光内存)
Docker Desktop 用 WSL2 跑容器,默认占一半内存。如果你 16G 内存同时跑 Ollama + Docker,Docker 可能吃 8G,Ollama 直接被挤死。
在 C:\Users\<用户名>\ 下创建文件 .wslconfig:
[wsl2]
memory=8GB
swap=2GB
processors=4
| 参数 | 作用 | 建议值 |
|---|---|---|
memory | WSL2 最大可用内存 | 物理内存的 50% |
swap | 交换空间大小 | 2GB |
processors | 分配 CPU 核心数 | 物理核心的 50% |
重启 WSL 让配置生效:
wsl --shutdown
再启动 Docker Desktop。内存被限在 8G,不会把 Ollama 挤死。
3. 改 Docker 数据存储位置(防止 C 盘爆满)
Docker 默认把镜像、容器、卷存在 C 盘。装几个 AI 工具后轻松吃 20~50GB。
# 查看 Docker 数据存储位置和磁盘占用
docker system df
# 输出示例:
# TYPE TOTAL ACTIVE SIZE RECLAIMABLE
# Images 12 8 15.2GB 3.1GB (20%)
# Containers 5 3 1.2GB 0B
# Local Volumes 8 5 2.8GB 1.2GB (42%)
方法一:Docker Desktop 界面修改(推荐)
Settings → Resources → Advanced → Disk image location → 改成 D:\DockerData
点 Apply & Restart,Docker 自动迁移数据。
方法二:mklink 软链接(Docker Desktop 不支持迁移时用)
# 1. 关闭 Docker Desktop
# 2. 找到 Docker 数据目录(WSL2 模式下在 vhdx 虚拟磁盘里)
# 3. 迁移 vhdx 到 D 盘
wsl --shutdown
wsl --export docker-desktop-data D:\docker-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data D:\DockerData D:\docker-data.tar
4. 开机自启
Docker Desktop → Settings → General → 勾选 Start Docker Desktop when you log in。
不开的话,每次重启电脑 Dify、n8n、Open WebUI 全挂——因为它们跑在 Docker 容器里,Docker 不启动,容器就不启动。
5. 配置容器自动重启策略
每个 docker run 命令加上 --restart always,Docker 启动后容器自动拉起:
# always:Docker 启动后容器自动启动
# unless-stopped:除非手动 stop,否则自动启动
# on-failure:崩溃后自动重启,最多 5 次
docker run -d --name n8n --restart always ...
| 重启策略 | 行为 | 适合场景 |
|---|---|---|
always | Docker 启动 → 容器启动 | 生产环境 |
unless-stopped | 手动 stop 后不再自动启动 | 开发环境 |
on-failure:5 | 崩溃后重启,最多 5 次 | 有状态服务 |
no(默认) | 不自动重启 | 临时容器 |
三、Docker 核心概念(5 分钟懂)
三个核心概念
| 概念 | 是什么 | 类比 | 常用命令 |
|---|---|---|---|
| 镜像 (Image) | 只读模板,包含运行环境和程序 | 安装包 | docker pull / docker images |
| 容器 (Container) | 镜像运行起来的实例 | 装好的 App 运行中 | docker run / docker ps / docker stop |
| 卷 (Volume) | 持久化存储,容器删了数据还在 | App 的数据文件夹 | docker volume create / docker volume ls |
你只需要记住一条:装工具时 -v 参数必须加,不加容器删了数据全丢。
镜像 vs 容器 vs 卷的生命周期
镜像 (Image) 容器 (Container) 卷 (Volume)
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 只读模板 │ docker │ 运行中 │ docker rm │ 持久数据 │
│ 不可变 │ run │ 可变 │ ──→ 容器删除 │ 容器删了 │
│ │ ──→ │ │ │ 数据还在 │
└──────────┘ └──────────┘ └──────────┘
↑ ↑ ↑
docker pull docker stop docker volume rm
下载镜像 停止不删除 手动才删除
四、Docker 常用命令速查
镜像管理
# 搜索镜像
docker search dify
# 拉取镜像
docker pull docker.1ms.run/langgenius/dify:latest
# 查看本地镜像
docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# dify latest a1b2c3d4e5f6 2 days ago 1.2GB
# 删除镜像(必须先删除依赖它的容器)
docker rmi dify:latest
# 清理无用镜像(悬空的中间层镜像)
docker image prune
# 查看镜像层细节
docker history dify:latest
容器管理
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 启动/停止/重启容器
docker start n8n
docker stop n8n
docker restart n8n
# 删除容器(先停止再删除)
docker rm n8n
# 强制删除运行中的容器
docker rm -f n8n
# 查看容器日志
docker logs n8n # 全部日志
docker logs -f n8n # 实时跟踪日志
docker logs --tail 50 n8n # 最后 50 行
# 进入容器内部
docker exec -it n8n bash
docker exec -it n8n sh # 没有 bash 的用 sh
# 查看容器资源占用
docker stats
# CONTAINER CPU% MEM USAGE / LIMIT MEM% NET I/O
# n8n 2.3% 256MiB / 8GiB 3.2% 12MB/8MB
卷管理
# 查看所有卷
docker volume ls
# 创建卷
docker volume create n8n_data
# 查看卷详情
docker volume inspect n8n_data
# Mountpoint: /var/lib/docker/volumes/n8n_data/_data
# 删除卷(容器在使用时不能删)
docker volume rm n8n_data
# 清理无用卷
docker volume prune
命令速查表
| 命令 | 作用 | 示例 |
|---|---|---|
docker pull | 拉取镜像 | docker pull n8n |
docker images | 查看本地镜像 | docker images |
docker rmi | 删除镜像 | docker rmi n8n:latest |
docker run | 创建并启动容器 | docker run -d --name n8n n8n |
docker ps | 查看运行中容器 | docker ps -a |
docker start/stop/restart | 启停容器 | docker stop n8n |
docker rm | 删除容器 | docker rm n8n |
docker logs | 查看日志 | docker logs -f n8n |
docker exec | 进入容器 | docker exec -it n8n bash |
docker stats | 资源监控 | docker stats |
docker volume ls | 查看卷 | docker volume ls |
docker volume create | 创建卷 | docker volume create data |
docker volume rm | 删除卷 | docker volume rm data |
docker system df | 磁盘占用 | docker system df |
docker system prune | 清理无用资源 | docker system prune -a |
五、docker run 参数详解——AI 工具通用模板
后面每篇教程都会用 docker run,先把这个命令彻底搞懂:
docker run -d \
--name dify \
--restart always \
-p 8015:8015 \
-v dify_data:/app/data \
-e DEBUG=false \
--add-host=host.docker.internal:host-gateway \
--gpus all \
--memory=4g \
--cpus=2 \
dify:latest
| 参数 | 作用 | 说明 |
|---|---|---|
-d | 后台运行 | 不加的话当前终端被占住 |
--name | 容器名 | 方便后续 stop/logs/exec |
--restart | 重启策略 | always = Docker 启动后自动启动 |
-p | 端口映射 | 宿主机端口:容器端口 |
-v | 数据卷挂载 | 必须加,容器删了数据还在 |
-e | 环境变量 | 传配置参数给容器内程序 |
--add-host | 添加 hosts | Docker 访问宿主机 Ollama 必须加 |
--gpus | GPU 支持 | all = 使用所有 GPU |
--memory | 内存限制 | 防止容器吃光内存 |
--cpus | CPU 限制 | 限制容器可用核心数 |
端口映射详解
# 宿主机 8015 → 容器 8015(Dify 默认端口)
-p 8015:8015
# 宿主机 3000 → 容器 8080(Open WebUI)
-p 3000:8080
# 端口被占用?换一个
-p 3001:8080
# 只监听本机,不暴露到局域网
-p 127.0.0.1:8015:8015
# 查看端口占用
netstat -ano | findstr :8015
数据卷挂载详解
# 方式一:命名卷(推荐,Docker 管理)
-v dify_data:/app/data
# 方式二:绑定挂载(指定宿主机路径)
-v D:/dify_data:/app/data
# 方式三:只读挂载(配置文件)
-v D:/dify_config.yaml:/app/config.yaml:ro
# 查看卷数据位置
docker volume inspect dify_data
六、Docker Compose——多容器编排
Dify 这种工具需要多个容器配合(应用 + 数据库 + Redis)。一个个 docker run 管不过来,用 Docker Compose 一键管理。
安装 Docker Compose
Docker Desktop 自带 Compose,无需额外安装。验证:
docker compose version
# Docker Compose version v2.x.x
Linux 单独安装:
# Docker Compose V2 已内置到 Docker CLI
sudo apt install docker-compose-plugin
编写 docker-compose.yml
以 n8n 为例:
version: "3.8"
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_SECURE_COOKIE=false
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- WEBHOOK_URL=http://localhost:5678/
- GENERIC_TIMEZONE=Asia/Shanghai
volumes:
- n8n_data:/home/node/.n8n
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
n8n_data:
Compose 常用命令
# 在 docker-compose.yml 所在目录执行
# 启动所有服务(后台运行)
docker compose up -d
# 查看服务状态
docker compose ps
# 查看日志
docker compose logs -f n8n
# 停止所有服务
docker compose stop
# 停止并删除容器(卷数据保留)
docker compose down
# 停止并删除容器和卷(数据全删)
docker compose down -v
# 重新构建并启动(修改了配置后)
docker compose up -d --build
| 命令 | 作用 |
|---|---|
docker compose up -d | 启动所有服务 |
docker compose down | 停止并删除容器 |
docker compose down -v | 停止并删除容器和卷 |
docker compose logs -f | 实时查看日志 |
docker compose restart | 重启所有服务 |
docker compose ps | 查看服务状态 |
docker compose pull | 拉取最新镜像 |
用 Compose 管理多容器比手动
docker run稳得多——配置写在 yml 里,版本可控,迁移时拷走一个文件就行。
七、GPU 配置——让容器里的 AI 用上显卡
如果你要在 Docker 容器里跑 GPU 推理(比如容器内跑 Ollama 或 vLLM),需要额外配置。
Windows + Docker Desktop
Docker Desktop 4.x+ 已内置 NVIDIA GPU 支持。验证:
# 在容器内测试 GPU 是否可用
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
如果输出显卡信息表格,说明 GPU 可用。如果报错,检查:
- 显卡驱动是否最新(去 NVIDIA 官网下载)
- Docker Desktop 版本是否 >= 4.4
- Docker Desktop → Settings → Resources → 确认 GPU 选项已勾选
Linux GPU 配置
# 安装 NVIDIA Container Toolkit
distribution=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
# 配置 Docker 使用 NVIDIA runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
验证:
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
GPU 指定
# 使用所有 GPU
--gpus all
# 只用第一块 GPU
--gpus '"device=0"'
# 用两块指定 GPU
--gpus '"device=0,1"'
# 限制 GPU 显存(通过环境变量,部分镜像支持)
-e NVIDIA_VISIBLE_DEVICES=0
八、网络配置——容器访问宿主机和其他容器
容器访问宿主机(访问 Ollama)
容器内 localhost 指向容器自己,不是你的电脑。要访问宿主机的 Ollama:
# 必须加这个参数
--add-host=host.docker.internal:host-gateway
# 然后容器内用这个地址访问宿主机
http://host.docker.internal:11434
| 访问目标 | 容器内地址 | 说明 |
|---|---|---|
| 宿主机 | host.docker.internal | 需要 --add-host 参数 |
| 其他容器(同一网络) | 容器名 | 如 http://dify:8015 |
| 外网 | 直接用域名/IP | 默认可访问 |
创建 Docker 网络
多个容器互相访问时,创建一个网络:
# 创建网络
docker network create ai-network
# 容器加入网络
docker run -d --name dify --network ai-network dify:latest
docker run -d --name n8n --network ai-network n8n:latest
# 网络内容器互相访问
# n8n 访问 dify:http://dify:8015
# dify 访问 n8n:http://n8n:5678
网络管理命令
# 查看所有网络
docker network ls
# 查看网络详情(包含哪些容器)
docker network inspect ai-network
# 删除网络
docker network rm ai-network
# 清理无用网络
docker network prune
九、系统清理与维护
查看磁盘占用
# 查看 Docker 总磁盘占用
docker system df
# TYPE TOTAL ACTIVE SIZE RECLAIMABLE
# Images 12 8 15.2GB 3.1GB (20%)
# Containers 5 3 1.2GB 0B
# Local Volumes 8 5 2.8GB 1.2GB (42%)
# 查看每个镜像/容器/卷的详细大小
docker system df -v
清理命令
# 清理已停止的容器
docker container prune
# 清理悬空镜像(无标签的中间层)
docker image prune
# 清理无用卷
docker volume prune
# 清理无用网络
docker network prune
# 一键清理所有无用资源(停止的容器 + 悬空镜像 + 无用卷 + 无用网络)
docker system prune
# 彻底清理(包括未被引用的镜像)
docker system prune -a
docker system prune -a会删除所有不在运行中容器使用的镜像。确认没用的镜像再清,不然下次启动又要重新拉。
定期维护建议
# 每月执行一次:查看占用
docker system df
# 占用超过 30GB 时执行:清理无用资源
docker system prune -a
# 清理构建缓存(占用可能很大)
docker builder prune -a
十、Dockerfile——构建自己的镜像
当你需要在基础镜像上加东西(比如给 Dify 加自定义插件),写 Dockerfile:
# 基于 n8n 官方镜像
FROM docker.n8n.io/n8nio/n8n:latest
# 切换到 root 用户
USER root
# 安装额外依赖
RUN apk add --no-cache python3 py3-pip
# 安装 Python 包
RUN pip3 install requests beautifulsoup4 --break-system-packages
# 切换回 node 用户
USER node
# 保持原有入口
ENTRYPOINT ["tini", "--"]
CMD ["n8n"]
构建并运行:
# 构建镜像(注意末尾的点表示当前目录)
docker build -t n8n-custom:latest .
# 运行自定义镜像
docker run -d --name n8n --restart always \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
n8n-custom:latest
Dockerfile 常用指令
| 指令 | 作用 | 示例 |
|---|---|---|
FROM | 基础镜像 | FROM python:3.12-slim |
RUN | 构建时执行命令 | RUN pip install flask |
COPY | 复制文件到镜像 | COPY app.py /app/ |
WORKDIR | 设置工作目录 | WORKDIR /app |
ENV | 设置环境变量 | ENV PORT=8080 |
EXPOSE | 声明端口 | EXPOSE 8080 |
USER | 切换用户 | USER root |
ENTRYPOINT | 启动命令 | ENTRYPOINT ["python"] |
CMD | 默认参数 | CMD ["app.py"] |
十一、常见问题与排坑
| 问题 | 原因 | 解决 |
|---|---|---|
| 鲸鱼图标一直转圈 | WSL2 未装或版本不对 | wsl --install → 重启 → wsl --set-default-version 2 |
docker 命令找不到 | PATH 未生效 | 关终端重开,或重启电脑 |
| 拉镜像超时/报错 | Docker Hub 国内被墙 | 配国内镜像加速(见第二节) |
port is already allocated | 端口被占用 | netstat -ano | findstr :端口,换端口 -p 3001:8080 |
| 磁盘空间不足 | 镜像和容器吃满 C 盘 | 改存储位置到 D 盘 + docker system prune -a |
| WSL2 占内存过大 | 默认不限制 | 写 .wslconfig 限制内存(见第二节) |
| 容器启动后立刻退出 | 程序报错 | docker logs 容器名 看报错日志 |
| 容器内访问不到 Ollama | localhost 指向容器自身 | 加 --add-host=host.docker.internal:host-gateway,地址改用 host.docker.internal |
| 重启电脑后容器没启动 | 没设重启策略 | docker run 加 --restart always |
| 容器内 GPU 不可用 | NVIDIA 驱动或 Toolkit 问题 | 更新驱动 + 检查 --gpus all 参数 |
| Docker Desktop 启动报错 | WSL2 版本太旧 | wsl --update 更新 WSL2 |
| 镜像拉到一半失败 | 网络中断 | docker pull 会断点续传,重新执行即可 |
几个容易踩的坑:
- WSL2 没装就装 Docker——Docker Desktop 依赖 WSL2,不装会报错。
wsl --install装完重启再装 Docker。 -v参数忘了加——容器删了数据全丢。养成习惯:每个docker run都加-v。- 端口冲突不知道——
docker run报port is already allocated,用netstat -ano | findstr :端口查谁占了,换一个端口。 - 镜像全存 C 盘——几个 AI 工具镜像加起来 20GB+。装完第一件事:改存储位置到 D 盘。
- 不配镜像加速——国内拉 Docker Hub 镜像极慢。必须配加速地址。
十二、落地场景
| 场景 | 需要的容器 | 建议配置 |
|---|---|---|
| 个人 AI 助手 | Ollama + Open WebUI | 16G 内存 + RTX 3060 |
| 知识库客服 | Ollama + Dify | 32G 内存 + RTX 4060 |
| 自动化工作流 | Ollama + n8n | 16G 内存,CPU 够用 |
| 完整 AI 工作站 | Ollama + Dify + n8n + Open WebUI + Cline | 32G 内存 + RTX 4070 |
| 低配尝鲜 | Ollama(Docker 模式) | 8G 内存,纯 CPU |
什么情况不该用 Docker
- 只是想跑一下 Ollama 聊天——直接
ollama run就行,不需要 Docker。Docker 是给多组件应用(Dify、n8n、Open WebUI)准备的。 - 电脑只有 8G 内存——Docker Desktop 本身吃 2G+,加上容器内的服务会很吃力。这种情况只跑 Ollama 本体更实际。
- 生产环境部署——Docker Desktop 是开发工具,生产环境用 Docker CE/EE + Compose 或 Kubernetes。
核心知识点回顾
- 安装:Windows 装 WSL2 → 装 Docker Desktop → 验证
docker run hello-world - 必做 5 件事:配镜像加速、限 WSL2 内存、改存储位置、开机自启、配容器重启策略
- 三个概念:镜像(安装包)→ 容器(运行中)→ 卷(持久数据),
-v参数必须加 - docker run 参数:
-d后台、-p端口、-v数据卷、-e环境变量、--restart重启策略、--add-host宿主机访问 - Docker Compose:多容器编排,配置写 yml,
docker compose up -d一键启动 - GPU 配置:
--gpus all参数 + NVIDIA 驱动 + Container Toolkit - 网络:容器访问宿主机用
host.docker.internal,多容器通信用 Docker 网络 - 清理维护:
docker system df查占用,docker system prune -a清无用资源
本文所有命令均经过验证,可直接复制执行。如有问题欢迎评论区交流。
觉得有用点个赞,下一篇讲 Ollama——Docker 装好之后,第一个该装的大模型运行框架。
更多推荐
所有评论(0)