京东百里Docker挂载分区后空间没有变化或者无法启动

楔子

最近折腾百里下载机,因为百里没有USB口,一般就是64或者128G的EMMC,读写多了损坏EMMC不说,下载大量文件空间也不够。于是就想着在Docker上安装各种下载软件,并挂载其它设备上的SMB以扩展储存。

之前刷完机时没有适合的设备挂载,也就没有折腾。最近淘了个玩客云,千兆网口,双USB2.0接口的配置,但是CPU是32位的晶辰S805,有迅雷的需要,但Docker迅雷不支持armv7,只能在百里上安装Docker迅雷了。而且玩客云配置不高,装的东西多了性能不够。

我的百里是64G版本的,刷完OpenWrt还剩53GB左右的空间,这些空间用来储存镜像和运行容器,所以要把这些分区分配给Docker。

但是将空间分配给Docker并重启OpenWrt后Docker会无法启动,显示“无法连接到docker守护进程(docker deamon),请检查!!”。

故障

然后我将挂载点设置为/opt/docker后却可以启动。

挂载后重启OpenWrt后Docker依然可以正常启动并挂载空间。

但是将系统更换成padavanonly的固件后不管是挂载点设置为/opt或者/opt/docker后docker都无法识别到,依然只显示几百M空间。

京东百里Docker挂载分区后无法启动 4

在安装各个系统后都能识别到/dev/dev/mmcblk0p10这个分区,文件系统与空间容量也能正确识别。

京东百里Docker挂载分区后无法启动 8

但是挂载到/opt/opt/docker后docker就是无法识别或者无法启动。

解决​

后来经过多次摸索后发找到了原因和解决办法。

就是更换系统后需要将/dev/dev/mmcblk0p10这个设备重新格式化才可以。

京东百里Docker挂载分区后无法启动 5

找到分区,点击ext4

京东百里Docker挂载分区后无法启动 6

点击格式化,分区格式依然为ext4即可。

京东百里Docker挂载分区后无法启动 7

格式化后/dev/dev/mmcblk0p10的UUID将会变化,然后将格式化的分区挂载在/opt即可。

原因

造成这个问题的原因应该是我在OpenWrt官方固件或ImmortalWrt官方固件系统上安装下载过镜像并部署过容器,因为在OpenWrt官方固件、ImmortalWrt官方固件以及padavanonly的固件来回测试时,只有OpenWrt官方固件和ImmortalWrt官方固件可以通过挂载为/opt/docker挂载。而在padavanonly固件上挂载时无论是/opt或者/opt/docker,docker都无法识别。说明ImmortalWrt官方和OpenWrt官方固核心都是一样的;只是ImmortalWrt相对于OpenWrt官方源码增加了一些额外软件包和一些其它设备的适配。而padavanonly源码虽然是基于ImmortalWrt的源码但已经和ImmortalWrt官方的有很大区别了。而通过格式化,就相当于固件将自己的“基因”传递给了/dev/dev/mmcblk0p10分区,这个“基因”就是UUID。只有自己分配的UUID才认可。

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论!x