k8s 抛弃 docker 之后, docker 还有前途吗?

2022-02-22 13:02:48 +08:00
 julyclyde

换个角度,新人还有必要从 docker 开始学吗?

感觉不如直接 podman 或者 containerd 算了?

13261 次点击
所在节点    Kubernetes
73 条回复
luckyrayyy
2022-02-22 14:30:29 +08:00
各类容器其实差别不大的,你把一个搞懂了用熟悉了,别的只看看区别部分就行了
ch2
2022-02-22 14:31:40 +08:00
@ytll21 怎么编译 docker ?最方便的办法是用 docker 编译它自己。不用 docker 你想跑个 build 都难上加难
sanxianA
2022-02-22 14:51:11 +08:00
@ytll21 不会的啊,如果是有引入 devops 之类的解决方案的开发,是需要最起码了解 dockerfile 之类的语法,还有 docker 运行环境的特性来提高开发效率的。对自己写出来的东西的运行环境越了解,才能在排障的时候更快定位故障
xratzh
2022-02-22 14:55:39 +08:00
我基本都迁移到 docker 了,现在新的技术出来其实也没有多么方便。无非就是从 60 到 95 的感觉,现在 98 的技术出来了。
yyfearth
2022-02-22 15:08:19 +08:00
@ytll21 不是哦 首先 docker 不是只用来部署线上服务的 很多时候也用来开发测试 或者本地搭建环境和脚手架
如果线上用了容器 这样本地环境和线上环境比较相似 可以避免一些麻烦

另外 现在越来越多全栈 其中 devops 也是很重要的一个技能 你的的代码你要自己部署上线 就是可能有运维帮忙 对于全栈 负责任的人还是自己

就算有专业的运维 如果线上用容器 也应该和开发一起讨论容器的一些细节和兼容问题 比如那个 Linux 发行版 以及某些库的版本
另外如果线上出问题 那么肯定也要跑到容器里面 或者拉下来一个容器来测试复现之类的 那么基本的容器的操作还是要会的

总之 现在除非真的在一个地方养老 如果是做线上系统的 还是一定要学一下容器的
julyclyde
2022-02-22 16:44:53 +08:00
docker 把 containerd 分离出来之后,“docker 自己”其实已经没什么独门绝技了吧
感觉已经没有自己的护城河了

它能做的事情,podman 都能做;它不符合的标准,containerd 都符合
那,继续用它的“必要性”在哪儿呢?
julyclyde
2022-02-22 16:48:01 +08:00
@yangyaofei docker 已经把标准凝聚到 containerd 里面了。“docker 自己”现在只有命令行习惯这一个标准,还被 podman 抄了


@bruce0 你已经入门了就不是我问的情况了
我是在考虑培养新人的路子,是不是可以直接 podman 算了。反正“docker 和”podman 都一样
julyclyde
2022-02-22 16:49:39 +08:00
@bwangel 不同代的 docker 源代码差异太大了:
从最古代的“一个可执行文件”,到“c/s 架构”,到“c/s/containerd/runc”四层架构,变化太大了
acmore
2022-02-22 17:40:00 +08:00
如果你接触的东西没有让你学习的动力或契机,那么就不用学,无论 K8S 拥抱还是抛弃都不用学。
FrankFang128
2022-02-22 17:40:47 +08:00
学东西,学的是概念,不是具体的工具。
cheng6563
2022-02-22 17:44:33 +08:00
单体临时容器:podman ,docker 都可以,docker 构建镜像创建容器比较快,podman 对于 rootless 友好
非集群的容器 /手动编排的集群容器:docker-compose (非 docker-swarm )
自动编排的集群:k8s
pydiff
2022-02-22 18:16:40 +08:00
你试用一下 docker,podman 跟 contsinerd 就知道了,反正我的体验就是 docker 秒杀后者
kingfalse
2022-02-22 18:18:20 +08:00
k8s 跟 docker 两个东西,不是说 k8s 不用 docker ,docker 就会死
xiaoz
2022-02-22 18:58:31 +08:00
有必要,Docker 生态目前非常完善和成熟。而且你看很多开源工具的安装都有 docker 镜像,再比如很多 NAS 内置 docker 而不是 podman
jsq2627
2022-02-22 19:16:37 +08:00
"docker" 是个 umbrella term 。估计楼上每一层对楼主提问的“docker“都有不一样的理解。
aecra
2022-02-22 19:18:48 +08:00
k8s 和 docker 这两个的产品之争有必要陪他们玩吗?
ragnaroks
2022-02-22 19:23:41 +08:00
你放心,podman 会比 docker 先死
zyy314680012
2022-02-22 19:31:38 +08:00
开发用 docker 挺好
a728976009
2022-02-22 21:20:49 +08:00
docker 很早之前就开始了组件化,moby 早在几年前就搞起来了,从构建和运行的角度来看,docker 基本上可以等同于 buildkit 和 containerd 了,所以,弃用 docker 也就无从谈起。而从普遍适用性的角度来看,docker 仍然是最普遍的容器构建工具和运行时。
所谓 k8s 弃用 docker ,正确的说法应该是 k8s 弃用 docker-shim ,不得不说 google 的话术足够狡猾。
至于 podman ,从体验中看不到跟 docker 的任何优势,我用的是时候记得 dockerhub 的镜像还需要强制加上 docker.io 的 registry 前缀,就这一点就放弃了,一大堆已有的 dockerfile 总不能一个一个改吧,而且实测 buildkit 的构建效率也要比 buildah 快,没动力折腾。
0312birdzhang
2022-02-22 21:33:52 +08:00
@yangyaofei 一开口就是老 k8s 受害者了😂

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

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

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

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

© 2021 V2EX