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

Mac + Docker 占据太多本地存储

  •  
  •   zuston · 2023-05-11 16:18:25 +08:00 · 3791 次点击
    这是一个创建于 590 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当前正在用的 macbook pro2018 16+256 ,docker desktop 占据太多了本地空间。

    docker build/push 等操作可以在公司服务器上做,但是需要将本地代码提交到 git, 再在服务器上 pull, 再 build/push 流程太长,是否有一个 docker client 支持 remote build ? 目前想到的方案是使用 juicefs 搭建一个共享存储,mac 和 编译服务器分别挂载

    17 条回复    2023-05-12 11:54:23 +08:00
    ZedRover
        1
    ZedRover  
       2023-05-11 17:50:42 +08:00   ❤️ 2
    caryqy
        2
    caryqy  
       2023-05-11 18:06:25 +08:00
    docker image prune

    docker container prune

    上面两个命令清理下占用情况


    轻量的一套可以考虑 gogs+drone+harbor 部署在服务器上,你电脑只负责提交代码
    zuston
        3
    zuston  
    OP
       2023-05-11 18:37:09 +08:00 via iPhone   ❤️ 1
    @ZedRover I have to say NB
    qfdk
        4
    qfdk  
       2023-05-11 20:41:39 +08:00 via iPhone
    @ZedRover beta 版本免费🆓 后面感觉要收费。估计也有个试用版吧
    Nitroethane
        5
    Nitroethane  
       2023-05-11 20:53:17 +08:00
    没太 get 到你的点。docker client 原生支持通过 ssh 连接到远程服务器上的 docker 引擎,这样的话你在 Mac 上就可以通过远程服务器的 docker 引擎构建本地的代码了。
    然后你这个需求可以用 CI 完美解决吧,如果用 git 服务器用的 gitlab 的话直接 gitlab CI ,不是的话用 Jenkins 。
    zuston
        6
    zuston  
    OP
       2023-05-11 21:01:22 +08:00 via iPhone
    @Nitroethane 学习到了,明天就试试
    paynezhuang
        7
    paynezhuang  
       2023-05-11 21:14:05 +08:00
    我 Orbstack 和 podman desktop 一起用
    mkmoon
        8
    mkmoon  
       2023-05-11 21:16:21 +08:00 via iPhone   ❤️ 1
    Docker engine 本身也支持远程,可以看看官方文档,还可以用 tls 保护

    https://docs.docker.com/config/daemon/remote-access/

    这样就 mac 本地就不用安装 docker desktop(它有个 vm 镜像,很大,也可以删了)了,只需要 brew install docker 安装一个命令行客户端,再配置 docker context 就可以连远程了

    如果操作不熟,切记提前做好备份好
    xtinput
        9
    xtinput  
       2023-05-11 21:42:31 +08:00
    docker desktop 太不好用了,我是在虚拟机里面跑 docker 的,macOS 里控制虚拟机的 docker ,虚拟机是系统自带的框架跑的,虚拟机文件可以随便放移动硬盘里
    Akkuman
        10
    Akkuman  
       2023-05-11 22:15:11 +08:00 via Android   ❤️ 1
    @caryqy 现在 gitea 出了个 gitea action ,github action 大部分可以直接拿来用,可以代替 gogs + drone 了
    zuston
        11
    zuston  
    OP
       2023-05-11 22:17:06 +08:00 via iPhone
    @mkmoon 学到了。

    不得不说 v2 真是个好地方!
    seanzxx
        12
    seanzxx  
       2023-05-12 04:03:57 +08:00
    你服务器上装个 CI 工具呀,
    本地一般修改代码,然后提交到 git ,CI 会自动触发,pull 新代码,然后 build ,然后把 image push 到服务器。
    YsHaNg
        13
    YsHaNg  
       2023-05-12 07:19:35 +08:00
    大家有空可以 push 一下这个 pr https://github.com/containerd/containerd/pull/5935 macOS 可以支持 native docker 避免启动一个 vm Linux 套娃
    ZedRover
        14
    ZedRover  
       2023-05-12 09:32:01 +08:00
    @qfdk 现在隔几天就更新一次,感觉等稳定了就开始收米喽
    crsmk01
        15
    crsmk01  
       2023-05-12 10:07:29 +08:00
    为啥不用 CI 平台去完成 ?
    zuston
        16
    zuston  
    OP
       2023-05-12 11:37:18 +08:00
    @seanzxx 确实也可以!一般我们理解的 cicd, 都是在发布前或者是提交 MR 的时候,测试或者是发布镜像使用的。我的场景其实还停留在本地测试环节,打包 K8s operator 镜像然后上 K8s 测试,还没到上线 CI 那一步。

    当然搞个小工具,自动检测 gitlab branch 变更也可以,但是我不希望我的 commit 包含还没确定的更改。有 commit log 洁癖 😢
    zuston
        17
    zuston  
    OP
       2023-05-12 11:54:23 +08:00
    @mkmoon 搞定,这个方法太完美了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2461 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:53 · PVG 10:53 · LAX 18:53 · JFK 21:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.