挂载内存卡

  • 识别内存卡
1
lsblk

  例:一个64g的内存卡会识别出一个只有一个“mmcblk1p1”分区的58G左右设备”mmcblk1”。

  • 将内存卡格式化为ext4文件系统
1
2
sudo umount /dev/mmcblk1p1
sudo mkfs.ext4 /dev/mmcblk1p1
  • 验证文件系统类型
1
2
3
lsblk -f
# 或者
sudo blkid

  从输出来看,mmcblk1p1分区已经成功格式化为ext4文件系统,并且有一个UUID (f1ce1601-f187-4b18-98f7-7a4********)。

  • 挂载
1
2
sudo mkdir -p /mnt/my_sd_card
sudo mount /dev/mmcblk1p1 /mnt/my_sd_card
  • 验证
1
ls /mnt/my_sd_card
  • 自动挂载:添加如下一行到/etc/fstab
1
/dev/mmcblk1p1  /mnt/my_sd_card  ext4  defaults  0  0

内存卡上安装和运行Docker容器

  修改Docker的配置文件来更改其默认的存储位置到你的SD卡挂载点。这将使所有新的容器和镜像都保存在这个新的位置。

  • 安装docker
1
2
3
sudo apt-get update
apt install curl wget
apt install docker.io
  • 创建目录
1
2
sudo systemctl stop docker
sudo mkdir -p /mnt/my_sd_card/docker
  • 编辑或创建/etc/docker/daemon.json
1
2
3
{
"data-root": "/mnt/my_sd_card/docker"
}
  • 重启
1
sudo systemctl start docker
  • 验证更改:检查Docker是否正确应用了新的数据路径
1
docker info | grep 'Docker Root Dir'
  • 自动挂载:添加如下一行到/etc/fstab
1
2
#将上面首次"自动挂载"步骤添加的代码作如下更改
UUID=f1ce1601-f187-4b18-98f7-7******** /mnt/my_sd_card ext4 defaults 0 2
  • 应用更改
1
sudo mount -a