找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 7540|回复: 44

[N1盒子] n1刷armbian迁移docker到移动硬盘、挂网心云、装omv记录贴

  [复制链接]
发表于 2022-7-7 13:25 | 显示全部楼层 |阅读模式
本帖最后由 babylf 于 2024-2-1 20:59 编辑

刚玩n1没多久,很适合折腾,但奈何内存太小,docker装几个容器就满了。看了很多大佬的教程,把自己的折腾经验记录一下,方便自己以后再用。

1.刷armbian、安装docker
这个有很多教程了,不再写了。
2.移动硬盘分区、挂载
(1) 首先查看新硬盘基本信息
  1. fdisk -l

  2. --会罗列出很多分区地址,自行确认自己的新硬盘识别地址在哪里,我的新硬盘被识别到了”/dev/sda”。
复制代码
(2) 对新硬盘进行分区
  1. fdisk /dev/sda
  2. --[1] 这里的 /dev/sda 是步骤(1)中 查询出来的硬盘识别文件地址。如果你在步骤(1)中要格式化的硬盘存在于其他地址请相应改变。
  3. --[2] 在提示信息引导下,我选择(n) “add a new partition” 将硬盘划分为一个新分区。
  4. (p) primary ----主分区(看个人选择)
  5. (e) extended----扩展分区(看个人选择)
  6. --[3] 若整个硬盘只作为一个分区,下面三步默认回车即可;若只拿一部分空间出来当分区详细如下:
  7.    [3-1] 第一步是分区盘号,默认回车自动分配盘号,可自己定义一下盘号例如输入4,则盘号为sda4。
  8.    [3-2] star-是从2048字节开始,开始大小建议默认2048(默认回车即可)
  9.   [3-3] end-输入结束字节,开始字节到结束字节为新建分区盘的大小,输入后回车即可,直接回车则默认输入最大字节。
  10. --[4] 最后再输出(p)确认下自己创建的分区表信息是否正确。确认无误后(w)保存。
  11. --[5] 如果成功,系统会提示“The partition table has been altered” 分区表已更改完毕 。
复制代码

(3) 查看新硬盘识别到了哪里

    重新输入(1) 内容 ,我本地的新硬盘分了两个区被识别到了 “/dev/sda1”、“/dev/sda2” 。

(4) 新硬盘格式化

  1. mkfs -t ext4 /dev/sda1
复制代码

2.迁移docker到硬盘

(1)挂载硬盘

  1. mkdir /mnt/USB              # 创建目录供挂载使用
  2. mount -v /dev/sda1 /mnt/USB  # 挂载 U 盘
  3. df -h                       # 查看挂载状态
复制代码

(2)停止docker

  1. service docker stop
复制代码

(3)迁移docker数据

  1. # 创建目录
  2. mkdir /mnt/USB/docker -p

  3. # 拷贝数据
  4. # -rpvb 递归/保留属性/覆盖/详细
  5. cp /var/lib/docker/* /mnt/USB/docker -rpvb
  6. mv /var/lib/docker /var/lib/docker.bak

  7. # 软连接:实际 + 目标
  8. ln -s /mnt/USB/docker /var/lib

  9. # 恢复步骤,删除软连接(警告!尾部没有左斜杠 /)
  10. #rm -rf /var/lib/docker

  11. # 生效/启动
  12. systemctl daemon-reload
  13. service docker restart

  14. # 验证
  15. docker info
  16. #docker info | grep 'docker Root Dir'
  17. -----------------
  18. 显示=成功
  19. Docker Root Dir: /mnt/USB/docker

  20. # 重启自动挂载 U 盘,在 rc.local
  21. sed -i '/exit 0/i\mount -v /dev/sda /mnt/USB' /etc/rc.local
复制代码

(4)docker延迟启动

防止硬盘挂载慢,dockers启动后挂载失败

  1. # 移除docker自启服务
  2. systemclt disable docker
复制代码
编辑/etc/rc.local文件,文件末尾exit0之前追加如下内容并保存:

  1. sleep 60
  2. systemctl start docker
复制代码

(5)发现新版Ubuntu没有rc.local文件了,更新fstab,更换docker源
  1. #首先查看UUID
  2. blkid
  3. echo "UUID=e943fbb7-020a-4c64-a48a-2597eb2496df /vdb1 ext4 defaults 0 0" >> /etc/fstab
  4. #或者编辑这个文件
复制代码

(6)更换docker源
  1. #创建或修改 /etc/docker/daemon.json 文件,修改:
  2. {
  3.     "registry-mirrors" : [
  4.     "https://registry.docker-cn.com",
  5.     "http://hub-mirror.c.163.com",
  6.     "https://docker.mirrors.ustc.edu.cn",
  7.     "https://cr.console.aliyun.com",
  8.     "https://mirror.ccs.tencentyun.com"
  9.   ]
  10. }
  11. #重启docker服务使配置生效:
  12. systemctl daemon-reload
  13. systemctl restart docker.service

  14. #查看配置是否成功:
  15. docker info
复制代码



点评

效果很好,已经用上了  发表于 2022-12-13 22:02

评分

参与人数 2恩山币 +2 收起 理由
shin*** + 1 好帖子
jum*** + 1 感谢你的分享,无论怎样,你都是最无私的人.

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-13 18:39 | 显示全部楼层
硬盘不想格式化是否可以跳过分区步骤直接挂载
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-14 12:52 | 显示全部楼层
硬盘不想格式化是否可以跳过分区步骤直接挂载

同样的疑问
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-7-16 06:37 | 显示全部楼层
q784475002 发表于 2022-7-13 18:39
硬盘不想格式化是否可以跳过分区步骤直接挂载

当然可以,甚至我重装armbian、docker后,挂载后docker容器全都在,直接使用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-7-16 06:48 | 显示全部楼层
babylf 发表于 2022-7-16 06:37
当然可以,甚至我重装armbian、docker后,挂载后docker容器全都在,直接使用。

格式最好是ext4
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-16 18:21 | 显示全部楼层

自己分一个ext4分区跳过格式化按步骤操作就能用吗
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-7-16 20:57 | 显示全部楼层
q784475002 发表于 2022-7-16 18:21
自己分一个ext4分区跳过格式化按步骤操作就能用吗

可以,fdisk -l 查一下硬盘识别成什么,再进行挂载就行了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-17 21:47 | 显示全部楼层
babylf 发表于 2022-7-16 20:57
可以,fdisk -l 查一下硬盘识别成什么,再进行挂载就行了

好的,多谢大佬的指导
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-17 22:23 | 显示全部楼层
把局域网的smb 挂载到本地,然后再  ln -s /mnt/smb/docker /var/lib可以吗?我尝试了无数次,docker启动不了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-7-17 22:33 | 显示全部楼层
project_box 发表于 2022-7-17 22:23
把局域网的smb 挂载到本地,然后再  ln -s /mnt/smb/docker /var/lib可以吗?我尝试了无数次,docker启动不 ...

没试过这么搞啊,我感觉smb共享本来就是通过445端口链接的,可能有限制,还得是本地硬盘。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-25 06:11 来自手机 | 显示全部楼层
你这。。似乎没有给移动硬盘赋予权限啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-25 06:28 来自手机 | 显示全部楼层
艹,按这操作重启回来直接废了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-25 08:36 来自手机 | 显示全部楼层
# 软连接:实际 + 目标 ln -s /mnt/USB/docker /var/lib  (这里是不是少了个docker?)
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-25 16:41 | 显示全部楼层
不错,收藏了,
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-27 14:46 | 显示全部楼层
58458314 发表于 2022-7-25 06:28
艹,按这操作重启回来直接废了。

+1,按照步骤操作现在UI界面打不开了,docker指令查看也没有容器在运行,有毒
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 06:06

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表