现在很多的斐讯N1用户都喜欢弄一些盒子的玩法,但是现在也有不少的小伙伴和我说,N1在安装openwrt后必须要刷入emmc才会自动启动docker,且如果直接用service开启docker会出现缓存不足的错误。今天我就来给大家分享如何使用U盘来开启docker的方法。
Docker-CE说明: N1在 U盘上不启用docker,写入emmc后自动启用,数据目录是 /mnt/mmcblk1p3/docker、云的数据目录是 /mnt/mmcblk0p4/docker理论上其它op固件、以及设备也可以使用这种方法。不过需要自己搞清楚该固件docker存储位置的挂载点,通过修改挂载点或者直接用软链接。
因此,解决问题的办法是只要把docker的挂载点加载出来就可以解决。可以利用U盘本身的剩余空间/外置存储设备作为挂载点。
方法一:
比较方便的做法为:首先在windows上利用分区工具将U盘剩余空间新建EXT4分区
之后将U盘插入N1启动进入openwrt
在系统------挂载点-----处找到创建的分区(一般为/dev/sda3)
点击:挂载点-----------挂载点--------添加
选中:启用此挂载点------------UUID处选择你创建的分区/外置存储设备-------------挂载点自定义为/mnt/mmcblk1p3/--------保存&应用
之后就可以看到已挂载的文件系统中出现这个挂载点
此时使用ssh管理 软件(putty、xshell等)登入N1
输入命令:service dockerd start
随后就可以在openwrt中docker选项卡中看到docker已经启用。且数据缓存定向到了创建的分区/外置存储中。 方法二:
在你需要挂载docker数据目录的挂载点(可以在挂载点中查看,如/mnt/sda3/)下建立一个名为mmcblk1p3的文件夹,随后使用终端,进行软链接,
- <font size="2">ln -s /mnt/sda3/mmcblk1p3/ /mnt/</font>
复制代码
之后再输入命令:service dockerd start,同样可以启动docker。这个方法比上一个更加方便实用,而且不会改变挂载点参数
有的同学按方法2弄完后,看系统-启动项中,dockerd的状态是红色的已禁用,此时重启的话docker是不会自己启动的,需要自己去点击一下以启用。之后重启就会自启了。
方法三:
直接在终端输入:
- <font size="2">nano /etc/docker/daemon.json</font>
复制代码 会看到一个设置,
- <font size="2">{
- "bip": "172.31.0.1/24",
- "data-root": "/mnt/mmcblk1p3/docker/",
- "log-level": "warn",
- "log-driver": "json-file",
- "log-opts": {
- "max-size": "10m",
- "max-file": "5"
- },
- "registry-mirrors": [
- "https://dockerhub.azk8s.cn"
- ]
- }</font>
复制代码 将"data-root"中/mnt/mmcblk1p3/docker/修改成你要的地址。如/mnt/sda3/docker。
- <font size="2">"data-root": "/mnt/sda3/docker/"</font>
复制代码 ctrl+O 保存文件,或者ctrl+X 离开nano软件,若有修改过的文件会提示是否保存;选择 :yes
这个修改应该是最正规的也是最方便的,避免了乱七八糟的文件夹的挂载。
注意:这些方法都有一个弊端,就是U盘重启的时候,如果另一个USB口也插入了驱动器,可能会让系统的挂载文件有误(比如启动优盘会挂载到sdb1),需要自己确定一下挂载位置。
|