Mac Intel 芯片部署 YOLO(Docker 方式,支持离线打包与 Compose 管理)

Mac Intel 芯片 上部署 YOLO,推荐使用 Docker,既能快速启动,又方便打包和迁移。本文将详细介绍如何:

✅ 拉取 YOLO 官方镜像

✅ 打包导出镜像(支持离线使用)

✅ 脚本化一键操作

✅ Docker Compose 长期运行管理


📑 目录


1. 环境准备

验证是否安装成功:

复制代码
docker --version

2. 拉取 YOLO 镜像

在终端输入:

复制代码
docker pull ultralytics/ultralytics:latest

确认是否成功拉取:

复制代码
docker images | grep ultralytics

3. 镜像打包导出

如果需要离线使用,可导出为 .tar 文件:

复制代码
docker save -o yolov8.tar ultralytics/ultralytics:latest

4. 在其他机器导入镜像

在目标机器上运行:

复制代码
docker load -i yolov8.tar

确认导入成功:

复制代码
docker images | grep ultralytics

5. 一键脚本

5.1 下载并打包镜像

download_yolo.sh

复制代码
#!/bin/bash
IMAGE_NAME="ultralytics/ultralytics:latest"
OUTPUT_FILE="yolov8.tar"

echo "🚀 开始拉取 YOLO 镜像:$IMAGE_NAME"
docker pull $IMAGE_NAME || { echo "❌ 拉取失败"; exit 1; }

echo "✅ 镜像拉取成功,正在打包为 $OUTPUT_FILE..."
docker save -o $OUTPUT_FILE $IMAGE_NAME && \
echo "🎉 已保存为 $OUTPUT_FILE" || echo "❌ 保存失败"

运行方法:

复制代码
chmod +x download_yolo.sh
./download_yolo.sh

5.2 导入镜像

load_yolo.sh

复制代码
#!/bin/bash
INPUT_FILE="yolov8.tar"

[ ! -f "$INPUT_FILE" ] && { echo "❌ 未找到 $INPUT_FILE"; exit 1; }

echo "🚀 开始导入 $INPUT_FILE"
docker load -i $INPUT_FILE && \
docker images | grep ultralytics && \
echo "✅ 导入成功,可运行 YOLO 容器"

运行方法:

复制代码
chmod +x load_yolo.sh
./load_yolo.sh

6. 测试运行 YOLO

拉取/导入镜像后,可以运行推理测试:

复制代码
docker run -it --rm ultralytics/ultralytics:latest \
  yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

推理结果会保存在容器的 runs/ 目录。


7. 使用 Docker Compose 部署 YOLO

7.1 新建 docker-compose.yml

复制代码
version: "3.8"

services:
  yolo:
    image: ultralytics/ultralytics:latest
    container_name: yolov8
    restart: unless-stopped
    tty: true
    volumes:
      - ./models:/usr/src/app/models
      - ./data:/usr/src/app/data
      - ./outputs:/usr/src/app/runs
    command: tail -f /dev/null

7.2 启动 YOLO 服务

复制代码
docker-compose up -d

查看容器:

复制代码
docker ps | grep yolov8

7.3 进入容器并运行 YOLO

复制代码
docker exec -it yolov8 bash
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

结果会保存到宿主机的 ./outputs/ 目录。


7.4 停止服务

复制代码
docker-compose down

总结

通过本文,你已经掌握了 三种方式运行 YOLO

  1. 🔹 docker run 单次运行

  2. 🔹 脚本化:一键拉取 / 导入镜像

  3. 🔹 docker-compose 长期运行和管理

Mac Intel 芯片 上,即使没有 GPU 加速,也能快速体验和部署 YOLO。 🚀


好嘞 ✅ 我帮你在文章最后加一个 常见问题 FAQ,这样更完整,发布到 CSDN 后读者体验会更好。


❓ 常见问题 FAQ

1. 为什么下载 YOLO 镜像很慢?

Docker 默认从 Docker Hub 下载,有时网络较慢。可以尝试:

  • 换用国内镜像源(如阿里云、DaoCloud)

  • 先在有网络的机器上下载,然后用 docker save 导出,拷贝到目标环境


2. Mac Intel 上能用 GPU 加速吗?

Mac Intel 上没有 CUDA 支持,所以 YOLO 默认只能用 CPU 推理和训练,速度会比 GPU 慢很多。如果需要 GPU 加速,建议在 Linux + NVIDIA 显卡环境部署。


3. 怎么挂载本地数据集?

运行容器时,可以把本地目录挂载到容器:

复制代码
docker run -it --rm \
  -v ~/datasets:/usr/src/app/datasets \
  ultralytics/ultralytics:latest \
  yolo predict model=yolov8n.pt source=/usr/src/app/datasets/test.jpg

这样就能直接使用宿主机的数据文件。


4. Docker Compose 挂载后数据在哪?

docker-compose.yml 里挂载的目录:

复制代码
volumes:
  - ./models:/usr/src/app/models
  - ./data:/usr/src/app/data
  - ./outputs:/usr/src/app/runs

其中:

  • ./models:保存/加载自定义模型

  • ./data:存放本地数据集

  • ./outputs:推理结果会保存到这里


5. YOLO 镜像体积太大怎么办?

Ultralytics 官方镜像自带完整运行环境,体积大概 5GB。如果只需要推理,可以自己写一个精简版 Dockerfile,基于 python:3.10-slim 构建。


🎯 最终总结

通过本文你可以:

  1. Mac Intel 上用 Docker 快速部署 YOLO

  2. 离线打包镜像,在没有网络的机器上使用

  3. 脚本一键操作,避免重复输入命令

  4. Docker Compose 管理服务,适合长期运行

  5. 解决常见问题(下载慢 / CPU-only / 挂载数据 / 镜像太大)

这样,你就能轻松在不同环境中部署 YOLO,真正做到 一次下载,多处运行。 🚀

相关推荐
猫吃了源码4 小时前
k9s简介和安装
linux·docker·kubernetes
云原生指北5 小时前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
Web Security Loop5 小时前
MAC卸载JDK环境
java·macos·jdk
ziyun6668886 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
骇客野人8 小时前
Docker Compose 部署多个独立 Jar 服务完整实操步骤
docker·容器·jar
云川之下10 小时前
【k8s】Docker inspect 命令
docker·容器·kubernetes
倔强的石头10611 小时前
飞牛OS部署Mtab:Docker搭建自托管书签导航并实现远程访问
运维·docker·容器
雨晨源码(同名B站)12 小时前
【2027届人工智能专业选题】基于yolov8的农业病虫害图像识别与分类系统 |深度学习 计算机视觉
人工智能·深度学习·yolo·计算机视觉·分类
apgk11 天前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
fatcoder1 天前
玩转Docker 06 — 容器网络
前端·后端·docker