【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 键(有些电脑是 F2F10)进入 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 工具!🎉