【AI工具箱】Docker:便捷的运行你的AI工具

什么是 Docker?

想象一下,你要搬家,把家具从旧房子搬到新房子。如果每次搬家都要重新组装家具,是不是很麻烦?Docker 就像是一个"标准化的搬家箱",把软件和它需要的所有东西(配置、依赖等)都打包在一起,这样无论在哪台电脑上,都能一键运行,不用担心"在我电脑上能跑,在你电脑上跑不了"的问题。

很多AI工具的安装都离不开docker,所以这里先介绍下 docker的安装和基本使用。这样后续可以少走很多弯路,少入很多坑。

下载安装

Windows、Mac

步骤很简单:

  1. 1. 前往官网 https://www.docker.com/
  2. 2. 点击 Download 下载按钮
  3. 3. 根据你的系统选择对应版本(Windows 或 Mac)
  4. 4. 下载完成后,双击安装包,按照提示一路点击"下一步"即可

Linux

对于 Linux 服务器:
如果你不习惯用命令行操作,想要图形界面(就像 Windows 那样用鼠标点点点),推荐使用宝塔面板(https://www.bt.cn/new/download.html),它提供了可视化的 Docker 管理界面,非常适合新手。

常用配置

镜像加速(重要!)

为什么需要镜像加速?
就像从国外网站下载文件很慢一样,Docker 默认从国外服务器下载软件镜像,速度会很慢。配置镜像加速就是使用国内的"中转站",下载速度会快很多。

配置方法:
在 Docker 的配置文件中添加以下内容:


    
    
    
  {
  "registry-mirrors"
: [
    "https://docker.1ms.run"
,
    "https://docker.m.daocloud.io"
,
    "http://mirrors.ustc.edu.cn"
,
    "http://mirror.azure.cn"

  ]

}

存储目录

作用: 指定 Docker 存放文件的位置。就像你可以选择把文件存在 C 盘还是 D 盘一样。


    
    
    
  {
  "data-root"
: "/data/docker"
}

提示: 如果你的 C 盘空间不够,可以通过这个配置把 Docker 数据存到其他盘。

DNS 配置

作用: DNS 就像是互联网的"电话簿",帮助电脑找到网站的地址。配置 DNS 可以让 Docker 容器更快地访问网络。


    
    
    
  "dns": [
  "223.5.5.5"
,      // 阿里云 DNS
  "114.114.114.114"
, // 国内常用 DNS
  "8.8.8.8"
,        // Google DNS
  "8.8.4.4"
         // Google DNS 备用
]

常用命令

命令就像和 Docker 对话的语言,下面教你最常用的几个命令,复制粘贴就能用!

Docker Compose 命令(管理多个容器)

Docker Compose 就像是一个"指挥官",可以同时管理多个 Docker 容器。


    
    
    
  # 停止服务(关闭所有容器)
docker compose down

# 启动服务(后台运行,-d 表示 detach 后台运行)

docker compose up -d

# 检查服务状态(查看容器是否正常运行)

docker compose ps

# 拉取最新镜像(更新软件)

docker compose pull

# 查看所有容器日志(排查问题时很有用)

docker compose logs

# 查看特定服务日志(比如查看名为 api 的服务)

docker compose logs api

# 实时查看日志(类似实时监控,按 Ctrl+C 退出)

docker compose logs -f api

镜像命令(管理软件安装包)

镜像就像是软件的"安装包",容器是根据镜像创建出来的"运行实例"。


    
    
    
  # 查看本地已经存在的镜像(看看你下载了哪些软件包)
docker images

# 拉取最新版本的镜像(下载或更新软件包)

# 示例:docker pull nginx:latest

docker pull <镜像名>:<标签>

# 删除指定镜像(删除不用的软件包,释放空间)

# 示例:docker rmi abc123def456

docker rmi <镜像ID>

小提示: 可以用 docker images 命令查看镜像 ID,然后复制 ID 来删除。

容器命令(管理运行中的程序)

容器就是根据镜像运行起来的"实例",就像根据游戏安装包启动的游戏程序。


    
    
    
  # 查看正在运行的容器(看看哪些程序在运行)
docker ps

# 停止容器(关闭程序)

# 示例:docker stop my-app

docker stop <容器名或容器ID>

# 启动容器(开启程序)

docker start <容器名或容器ID>

# 重启容器(重启程序,常用于解决卡顿问题)

docker restart <容器名或容器ID>

# 删除容器(删除程序实例,注意:需要先停止容器才能删除)

docker rm <容器名或容器ID>

# 启动新容器(从镜像创建并运行一个新程序)

# 示例:docker run -d -p 80:80 nginx:latest

docker run [选项] <镜像名>:<标签>

小技巧:

数据持久化(重要!保护你的数据)

为什么需要持久化?
默认情况下,容器删除后,里面的数据也会消失(就像游戏卸载后存档也没了)。数据持久化就是把重要数据保存在容器外面,即使容器删除了,数据还在。

两种常用方法:

方法一:直接挂载目录(推荐新手使用)

把电脑上的文件夹和容器内的文件夹"连接"起来:


    
    
    
  # 示例:把本地 /data/mysql 文件夹挂载到容器的 /var/lib/mysql
docker run -v /宿主机路径:/容器内路径 镜像名

方法二:使用数据卷(更专业的方式)


    
    
    
  # 1. 创建一个数据卷
docker volume create my-data

# 2. 创建容器时使用这个数据卷

docker run -d -v my-data:/path/to/data 镜像名

# 3. 查看所有数据卷

docker volume ls

# 4. 查看数据卷详细信息(可以看到数据存在哪里)

docker volume inspect my-data

# 5. 删除数据卷(注意:会删除数据!)

docker volume rm my-data

小贴士: 数据库、配置文件等重要数据一定要做持久化!

备份与迁移(换电脑时很有用)

方法一:迁移 Docker 数据卷

场景: 把 Docker 数据从旧电脑搬到新电脑。

步骤:


    
    
    
  # 1. 在旧电脑上,将数据卷导出为 tar 压缩包
docker run --rm -v <数据卷名>:/data -v <本地保存路径>:/backup alpine tar cvf /backup/backup.tar /data

# 2. 将 tar 文件复制到新电脑(可以用U盘、网络传输等方式)

# 如果是 Linux 服务器之间传输,可以用这个命令:

scp /path/to/backup.tar 用户名@新服务器IP:/path/to/backup.tar

# 3. 在新电脑上导入数据卷

docker run --rm -v <数据卷名>:/backup alpine sh -c "tar xvf /backup/backup.tar -C /backup"

方法二:迁移 Docker Compose 项目

场景: 整个 AI 工具项目换到新电脑。

步骤:

  1. 1. 打开项目的 docker-compose.yml 文件
  2. 2. 找到 volumes: 配置部分,看看挂载了哪些目录
  3. 3. 把这些目录整个复制到新电脑的相同位置
  4. 4. 在新电脑上运行 docker compose up -d 即可

示例:


    
    
    
  # docker-compose.yml 中的 volumes 配置
volumes:

  -
 ./data:/app/data          # 需要复制 ./data 目录
  -
 ./config:/app/config      # 需要复制 ./config 目录

常见问题解决

问题 1:Docker Desktop – Unexpected WSL error(Windows 系统)

现象: Docker 无法启动,提示 WSL 错误。

原因: 电脑的虚拟化功能没有开启。

解决步骤:

第一步:检查虚拟化是否开启

  1. 1. 按 Ctrl + Shift + Esc 打开任务管理器
  2. 2. 点击"性能"标签页
  3. 3. 查看 CPU 部分,看"虚拟化"是否显示"已启用"

第二步:如果显示"已禁用",需要在 BIOS 中开启

  1. 1. 重启电脑
  2. 2. 开机时按 Delete 键(有些电脑是 F2 或 F10)进入 BIOS
  3. 3. 选择 Advanced Model 或按 F7 进入高级模式
  4. 4. 找到 CPU Configuration(CPU 配置)
  5. 5. 找到 Virtualization(虚拟化)或 Intel VT-x / AMD-V 选项
  6. 6. 改成 Enabled(启用)
  7. 7. 按 F10 保存并退出

注意: 不同品牌电脑的 BIOS 界面可能不同,但大致步骤相同。

问题 2:无法下载镜像,提示网络错误

现象: 运行 docker pull 时报错:Error response from daemon: Get "https://registry-1.docker.io/v2/"

原因: 无法连接到 Docker 官方镜像仓库(网络问题)。

解决方法:配置镜像加速

步骤:

  1. 1. 打开 Docker Desktop
  2. 2. 点击右上角齿轮图标(设置)
  3. 3. 选择 "Docker Engine"
  4. 4. 在配置文件中添加以下内容

完整配置示例:


    
    
    
  {
  "builder"
: {
    "gc"
: {
      "defaultKeepStorage"
: "20GB",
      "enabled"
: true
    }

  }
,
  "dns"
: [
    "223.5.5.5"
,
    "114.114.114.114"
,
    "8.8.8.8"
,
    "8.8.4.4"

  ]
,
  "experimental"
: false,
  "registry-mirrors"
: [
    "https://docker.1ms.run"
,
    "https://docker.m.daocloud.io"
,
    "http://mirrors.ustc.edu.cn"
,
    "http://mirror.azure.cn"

  ]

}
  1. 5. 点击 "Apply & Restart"(应用并重启)
  2. 6. 等待 Docker 重启完成

小提示: 配置后下载速度会明显变快!


总结

学完这篇教程,你已经掌握了 Docker 的基本使用!记住这几个关键点:

  1. 1. 镜像 = 软件安装包
  2. 2. 容器 = 运行中的程序
  3. 3. 持久化 = 保护重要数据
  4. 4. 配置镜像加速 = 下载更快

遇到问题不要慌,参考"常见问题"部分,大部分问题都能解决。祝你顺利运行各种 AI 工具!🎉