V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AllenHua
V2EX  ›  Docker

openwrt 里 docker 数据迁移问题 更改 Docker Root Dir

  •  
  •   AllenHua · 2021-06-13 19:48:11 +08:00 · 2221 次点击
    这是一个创建于 1047 天前的主题,其中的信息可能已经有所发展或是发生改变。

    v 友们有人试过 openwrt 里迁移 docker 目录的吗 成功了吗,请教一下方案

    默认的路径是/opt/docker

    # docker info |grep 'Docker Root Dir'
     Docker Root Dir: /opt/docker
    

    我的方案

    1. 先 /etc/init.d/dockerd stop 停止 docker 服务
    2. 再拷贝文件,通过 rsync -av source-path destination-path
    3. 然后再更改 /etc/docker/daemon.json 中的 data-root 字段,改成新的路径。ps: 如果这个 json 文件中没有这个字段,创建即可
    4. 看情况把 docker 容器持久化了的配置文件 volumes 的映射的路径也转移一下
    5. 重新启动 docker daemon ( dockerd )

    关于第二点,因为 rsync 比 cp 、mv 更安全 所以建议使用 rsync

    但是我失败了…… 后面到了第五步无法启动 dockerd

    root@openWrt:/mnt/ThreeTB2/docker# df -hT
    Filesystem           Type            Size      Used Available Use% Mounted on
    tmpfs                tmpfs           1.9G    208.2M      1.7G  11% /tmp
    overlayfs:/overlay   overlay        28.2G     15.5G     11.3G  58% /
    tmpfs                tmpfs         512.0K         0    512.0K   0% /dev
    cgroup               tmpfs           1.9G         0      1.9G   0% /sys/fs/cgroup
    overlayfs:/overlay   overlay        28.2G     15.5G     11.3G  58% /opt/docker
    /dev/sdd1            ext4            2.7T      2.0T    523.3G  80% /mnt/ThreeTB2
    shm                  tmpfs          64.0M         0     64.0M   0% /opt/docker/containers/3bdcfecf5e554e752927438615be5ae697409762746173430709ca105d39505c/mounts/shm
    

    个人怀疑,/opt/docker 这个挂载点的系统类型是 overlay,而我新建的目录/mnt/ThreeTB2/docker文件系统类型是ext4导致的,但是又说不出来具体什么原因以及应该怎么办。

    请教大家有没有什么思路?因为软路由系统盘太小(32GB SATA3 SSD),docker 再 pull 几个镜像磁盘就满了。

    第 1 条附言  ·  2021-06-13 20:39:45 +08:00

    20210613203858.png

    openwrt 可能需要对磁盘分区,使用一个专门的分区然后如上图所示,将其挂载

    3 条回复    2021-09-19 06:11:43 +08:00
    DCCooper
        1
    DCCooper  
       2021-06-13 20:31:33 +08:00 via iPhone
    创建 thinpool 先
    AllenHua
        2
    AllenHua  
    OP
       2021-06-13 20:41:25 +08:00
    @DCCooper #1 感觉这适用于 ext4 文件系统下的

    正文中的现象应该还是和 overlay 机制有关。看来最好的办法就是整一个大容量的硬盘当作系统盘
    lisaac
        3
    lisaac  
       2021-09-19 06:11:43 +08:00 via iPhone
    用 luci-app-dockerman 就能在 gui 下更改
    op 下需要更改的是 /etc/config/dockerd 并非 /etc/docker/daemon.json
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3392 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:54 · PVG 19:54 · LAX 04:54 · JFK 07:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.