• 请不要在回答技术问题时复制粘贴 AI 生成的内容
songray
V2EX  ›  程序员

写了个 Docker 容器无痛迁移工具

  •  
  •   songray ·
    Ray-D-Song · 15 days ago · 2800 views

    支持增量迁移,自动识别 Compose depends_on 按依赖顺序恢复,以及 volume 和挂载卷。

    背景是最近要把我的 Lightsail 和腾讯云,阿里云服务都迁移到 Hetzner 。
    三家零零散散跑了十几个容器,有些是 Docker compose 启动,有些配置了 network ,手动迁移太痛苦了。

    使用方式很简单:

    mico pack             # 打包所有运行中的容器(以及镜像/配置/卷/网络配置)为一个 .zst 压缩包  
    mico unpack mico.zstd # 在目标服务器一键恢复,按依赖顺序自动重建
    

    有需要的可以试试。

    https://github.com/Ray-D-Song/mico

    Supplement 1  ·  14 days ago

    感谢 mookim-eth 这位兄弟,应该是 v 站用户,帮我修了不少问题

    23 replies    2026-05-18 10:41:25 +08:00
    songray
        1
    songray  
    OP
       15 days ago
    macOS 的 Orbstack ,Linux Podman 和 Docker 我都自用测试了。

    Windows 在 pwsh 下没试,建议直接进 WSL2 命令行进行迁移。
    sola97
        2
    sola97  
       15 days ago
    我都是在本地跑一个 Codex ,然后让它 ssh 到两台机器上,慢慢迁
    songray
        3
    songray  
    OP
       15 days ago
    @sola97 也可以,其实我当初还想定时往 s3 上备份,现在迁完懒得写了 = =
    fengci
        4
    fengci  
       15 days ago
    挂载目录一一起打包的嘛?
    thetbw
        5
    thetbw  
       15 days ago
    很有用,适合不断购买运营商的活动服务器使用,我也一直想弄个来着
    songray
        6
    songray  
    OP
       15 days ago
    @fengci 对,所有数据都会被打包。
    CloudnuY
        7
    CloudnuY  
       15 days ago
    很有用,已 star ,下次迁移试试,之前用过另一个工具,是把本地 docker 打包之后暴露到互联网上用另一台机器通过公网拉
    songray
        8
    songray  
    OP
       15 days ago
    @CloudnuY 这有点危险,我还是考虑加 s3 吧,就是 s3 得搞个配置文件了。
    wancj17
        9
    wancj17  
       15 days ago
    挺有用的,正好想把本地 docker 跑的 Hermes 迁移一下,能支持 brew 安装就更妙了~
    songray
        10
    songray  
    OP
       15 days ago
    @wancj17 brew 相较于直接用 curl 下载安装脚本有啥优势吗🤔
    wancj17
        11
    wancj17  
       15 days ago
    @songray 更新和卸载都会更便捷一些
    5ssl
        12
    5ssl  
       15 days ago
    收藏了,一会试试
    asuraa
        13
    asuraa  
       14 days ago
    已 star 好东西啊 下次迁移换服务器简单多了
    zliea
        14
    zliea  
       14 days ago
    好东西,我这边用的是群晖的备份工具。
    Tathagatagarbha
        15
    Tathagatagarbha  
       14 days ago
    点赞
    jetsung
        16
    jetsung  
       14 days ago
    我是直接用 komo.do 來的。另外還有兩個:arcane 、dokploy 。有備份功能。
    ZeroDu
        17
    ZeroDu  
       14 days ago
    不错
    songray
        18
    songray  
    OP
       14 days ago
    @jetsung 这类 Docker 管理工具也挺好的,不过对我来说太重了,因为我有的小活动机只有 1g 甚至 512M 内存。😂
    mogita
        19
    mogita  
       14 days ago
    很 nice 啊。不过我已经转到 microk8s 了。还是支持一下。
    sky101001
        20
    sky101001  
       14 days ago
    不错不错,好东西啊
    songray
        21
    songray  
    OP
       14 days ago
    @wancj17 可以用 brew 安装了,以前没搞过,发现也不麻烦。

    brew tap ray-d-song/mico
    brew install mico
    ilay1678
        22
    ilay1678  
       7 days ago via Android
    一堆 docker compose 会按照原来的相对路径迁移吗
    songray
        23
    songray  
    OP
       7 days ago
    @ilay1678 Bind 挂载在迁移后会转为命名卷,因为新服务器上可能无法重现文件夹路径。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6085 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 107ms · UTC 02:51 · PVG 10:51 · LAX 19:51 · JFK 22:51
    ♥ Do have faith in what you're doing.