Mac + Docker 占据太多本地存储

2023-05-11 16:18:25 +08:00
 zuston

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

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

3775 次点击
所在节点    Apple
17 条回复
ZedRover
2023-05-11 17:50:42 +08:00
caryqy
2023-05-11 18:06:25 +08:00
docker image prune

docker container prune

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


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

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

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

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

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

当然搞个小工具,自动检测 gitlab branch 变更也可以,但是我不希望我的 commit 包含还没确定的更改。有 commit log 洁癖 😢
zuston
2023-05-12 11:54:23 +08:00
@mkmoon 搞定,这个方法太完美了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/939248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX