当前位置:首页>安卓APP>安卓设备挂载移动硬盘部署 Docker 实战指南

安卓设备挂载移动硬盘部署 Docker 实战指南

  • 2026-09-03 04:40:49
安卓设备挂载移动硬盘部署 Docker 实战指南

安卓设备挂载移动硬盘部署 Docker 实战指南

在嵌入式安卓设备(如开发板、机顶盒等)上部署 Docker 时,常面临内置存储空间不足的问题。通过挂载外部移动硬盘扩展存储是一种高效且低成本的解决方案。本文将详细介绍如何在 Root 过的 Android 设备上,通过挂载 EXT4 格式的移动硬盘来部署 Docker 环境。


方案概述

利用 Windows WSL 或 Linux 环境将移动硬盘格式化为 Linux 原生支持的 ext4 文件系统,挂载至 Android 系统,并将其配置为 Docker 的数据存储路径,以彻底解决跨文件系统的权限兼容性问题。


一、 存储介质准备

注意: Docker 容器运行依赖于遵循 POSIX 标准的特定文件系统权限管理。Android 默认支持的 FAT32 或 exFAT 无法满足要求,必须格式化为 ext4。

1. 格式化存储设备 (以 Windows WSL 为例)

  1. 1. 连接与识别:
    • • 将移动硬盘插入电脑。
    • • 以管理员身份打开 PowerShell,执行:
      wmic diskdrive list brief
    • • 记下 DeviceID(例如 \\.\PHYSICALDRIVE1)。
  2. 2. 挂载至 WSL:
    • • 在 PowerShell 中执行(以裸设备模式挂载):
      wsl --mount <DeviceID> --bare
  3. 3. 在 WSL 中执行格式化:
    • • 进入 WSL 终端(输入 wsl)。
    • • 查看磁盘路径(通常为 /dev/sdX):
      lsblk
    • • 执行格式化(警告:数据将清空):
      sudo mkfs.ext4 /dev/sdX
  4. 4. 安全卸载:
    • • 退出 WSL 后,在 PowerShell 执行:
      wsl --unmount <DeviceID>

2. 挂载确认

将硬盘接入 Android 设备,通过 ADB Shell 确认挂载路径:

adb shell df -h

通常路径位于 /mnt/media_rw/{UUID}。


二、 建立 ADB 连接

确保 Android 设备已开启 “开发者选项” 并启用 “USB 调试”。

场景
连接方式
命令示例
Windows
局域网无线
adb connect 192.168.x.x:5555
Windows
USB 有线
直接插线即可识别
macOS/Linux
终端操作
./adb connect 192.168.x.x:5555

三、 Docker 服务部署

1. 获取 Root 权限

adb root

2. 确认/手动挂载路径

查看硬盘是否正确识别:

adb shell ls -lht /mnt/media_rw/

若未自动挂载,可手动执行:

adb shell mkdir -p /mnt/media_rw/usb_ext4adb shell mount -t ext4 /dev/block/sda1 /mnt/media_rw/usb_ext4

3. 执行安装脚本

使用内置脚本进行部署,脚本会自动配置环境变量并将 Docker Root 设在外置硬盘。

执行命令:

# 请将 <YOUR_DISK_PATH> 替换为实际挂载路径adb shell sh /data/local/docker/deploy-in-android.sh /mnt/media_rw/usb_ext4

脚本核心逻辑:

  • • 参数接收:获取硬盘挂载路径。
  • • 目录构建:在硬盘上创建 opt/dockerd/docker 结构。
  • • 软链绑定:修改 docker.env 中的 DISK_ROOT 环境变量。

四、 技术说明与常见问题

1. 为何必须使用 ext4?

Docker 容器内的应用(如 MySQL)依赖严格的 Linux 文件权限。NTFS 或 exFAT 在 Android 上的 FUSE 实现无法提供完整的权限映射,会导致容器启动失败。

2. 挂载路径排查

若脚本未能识别硬盘,请进入 Shell 手动排查:

adb shelldf -h  # 查看挂载点mount | grep ext4 # 查看 ext4 设备

3. 供电稳定性提醒

重要: 机械硬盘启动电流较大。若出现硬盘反复掉线、异响或无法挂载,请务必使用 带独立供电的 USB Hub 或硬盘盒。

最新文章

随机文章