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

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

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

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

12768 次点击
所在节点    Kubernetes
73 条回复
SIGEV13
2022-02-22 21:45:46 +08:00
商业上前途没有以前那么好了。
工程上,他还是那个成熟的解决方案。
如果专注 k8s 开发,还是可以从 docker 开始熟悉工程环境。
zhixi
2022-02-22 21:51:45 +08:00
小厂一般的项目没有大规模集群上个 docker 就够了,k8s 这种又大又重的东西大部分小项目用就是给自己找麻烦。目标场景都不一样。

正常的竞争关系是
k8s vs swarm
docker vs podman

应该问,还有必要学 swarm 吗?
junnplus
2022-02-22 23:18:46 +08:00
可以用 nerdctl 来代替 docker cli
nerdctl 是 containerd 的一个非核心项目,兼容 docker cli 命令
ch2
2022-02-23 01:01:05 +08:00
@julyclyde podman 并不是对 docker 的完全兼容,大量的现存资料均是用 docker 作为 example 而不是 podman
duke807
2022-02-23 02:13:10 +08:00
你們可真夠雙標的

你們說 k8s 太重,大多數項目沒必要用,隱含意思是建議用 docker ,推導出 docker 有前途

而我一樓是說 docker 也太重,直接裸跑不用容器更方便,隱含意思是 docker 可有可無,沒啥前途

怎麼我就成經典答非所問了。。。
ruidoBlanco
2022-02-23 02:52:19 +08:00
玩过 k8s ,玩过 nomad ,但是现在我自己的几台 vps 组的是 docker swarm ,家里要拉什么服务起来还是 docker-compose 。
zzyyqq
2022-02-23 04:30:40 +08:00
我擦咧? 刚他妈用上这俩东西就互相不兼容了???
WildCat
2022-02-23 06:42:32 +08:00
@xratzh 请问 98 的技术是啥
tigerstudent
2022-02-23 08:43:01 +08:00
@duke807 但你的一楼内容是一句话直接说没用过 docker ,确实是答非所问呐
xuanbg
2022-02-23 08:46:46 +08:00
用 docker 好多年,但貌似没学过呢。。。
yangyaofei
2022-02-23 09:44:48 +08:00
@julyclyde 他底层是啥又不影响使用的人,只和他自己的发展有关,而接口都是既定标准了. 我一个种地的只关心给不给水牛
@0312birdzhang 不是,我没有,我不会 k8s, (真的)😂
bluehtt
2022-02-23 09:48:44 +08:00
@tigerstudent #49 如果觉得他人的回复内容没什么意义,可以考虑 block 掉,没必要去争。除了争论无休止以外,争论的内容对于问题没有什么意义,也是答非所问。

回归正题,还是建议学习 Docker ,Docker 起码还是一个很方便的工具,生态好文档齐全。Podman 在这方面要替换掉 Docker 还是早了点。
yangyaofei
2022-02-23 09:54:00 +08:00
@zhixi 从易用性和学习难度上来说, swarm 甚至更好用,无论集群配置和 docker-compose 过渡上来说都更好(看了文档后), 而 k8s 符合 google 东西的特质,就是文档(甚至不止文档)要读很多遍才明白,甚至成功部署一个 k8s 对于小公司或者个人就够开香槟了.

对我来说, docker-compose 加上集群自动化和自动扩容自动更新镜像, 就足以满足我想象中能真正做出来的应用的项目的所有要求了

@ruidoBlanco 如果 gitlab 能支持 swarm 和 k8s 那样, 真的想考虑上 swarm 了
killerv
2022-02-23 11:03:23 +08:00
并不是 k8s 放弃 docker ,而是 k8s 放弃了 docker-shim ,这个对于开发者来说基本上是无感的,docker build 创建的镜像依然适用于任何 CRI 实现,docker 依然是相对简单好用的容器镜像维护工具。
julyclyde
2022-02-23 12:32:22 +08:00
@a728976009 k8s 弃用 docker-shim 其实就是弃用 dockerd 吧。
dockerd 在 containerd 里叫做 namespace moby ; kubelet 直接访问 containerd 是另一个 namespace 吧。这细节的差异将来会带来一些问题,比如 docker ps 看不到 kubelet 创建的容器之类的

我觉得其实就是其他公司在搞政治,包括从一开始劝说 docker 把 containerd 捐献出来,包括后面抛弃 docker-shim ,都是搞政治

podman 访问 docker hub 需要加域名这个……访问别人最好还是打个招呼吧,要不然会被骂死
julyclyde
2022-02-23 12:32:39 +08:00
@zhixi swam 好像已经 offically 凉了吧,还用问吗?
julyclyde
2022-02-23 12:33:09 +08:00
@junnplus 学习了,nerdctl
只是……nerd 这词……
pckillers
2022-02-23 12:48:29 +08:00
用过 podman ,网上的镜像十个里有 8 个运行有问题。 换了 docker ,一样的命令,都正常起来了。

podman 的 cli 操作本来就是抄 docker 的,还少了些东西,lz 这个学 podman 不学 docker 的发言实在是让人贻笑大方。

至于直接学习 containerd ? lz 是打算直接写个代替 docker 或 podman 的程序嘛? 笑死。
NeoZephyr
2022-02-23 12:53:15 +08:00
哪有抛弃,瞎说
julyclyde
2022-02-23 13:20:06 +08:00
@pckillers 直接用 containerd 其实还行吧

podman 运行不了常见镜像的事,我确实是没有深入试用过,对这些问题没什么体会。还需要进一步学习

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

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

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

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

© 2021 V2EX