1. 程式人生 > >Docker跳反了,運維們還會繼續用它嗎?

Docker跳反了,運維們還會繼續用它嗎?

Docker

Moby 專案是一個新的用於推進軟體容器化運動的開源專案,它將協助生態系統讓容器成為主流。它提供了一個元件庫、一個用於將這些元件組裝成基於定製容器的系統的框架,以及一個所有容器愛好者進行試驗和交流想法的場所。

Moby 是 Docker 技術有史以來最重要的開源專案,2014年左右,Docker 就開始了這些研究,開始專案稱為 Notary,後來發展成為 Moby。

匿名使用者:這事兒吧,說出來像個繞口令,但其實道理很淺顯。

1、一句話版本,後面的可以不看

Docker 公司直接把原 Docker 專案改名成了 Moby,是為了將之前數年裡構建出來的龐大的粉絲團體和 Google 搜尋內容(Google search footprint)全部轉移到 Docker 公司的商業產品上。

需要注意:Docker 公司的商業產品包括了 Docker EE 和 Docker CE,前者是企業收費版,後者是社群免費版。

也就是說,以後大家用的(包括大家現在機器裡已經安裝的)都是 Docker 公司的產品(注意,並不是專案),這個產品名叫 Docker CE(命名方式如 Docker 17.XX)。Docker公司也會不遺餘力的鼓勵使用者在試用後購買付費版本(這很正常)。

2、關於Moby

Moby 會以一個開源組織(Github Org)的方式存在。Docker CE這個產品,會由 Moby 組織下的 Moby 專案以及其他專案構建和編譯出來的。Moby 組織下面的專案均由社群開發者共同維護。

這也就意味著對於 Moby 社群的參與者來說,你們今後的工作方式是:貢獻 Moby下的專案,然後使用 Docker 公司的 Docker CE 產品。

你也應該明白了,並不會存在一個開源專案叫 Docker CE。因為 Docker CE 是一個產品,你一定得從 Docker 公司官網上來下載使用。

3、使用者到底在抱怨什麼?

截止到目前為這,A new upstream project to break up Docker into independent components by shykes · Pull Request #32691 · moby/moby(https://github.com/moby/moby/pull/32691) 這個PR下面有588個『踩』和 456個『困惑』,相比122個『贊』,社群開發者對 Docker 公司這個行為的不滿可見一斑。

點讚的估計還有不少競爭對手的,畢竟能在跟Docker公司在開源社群角力上鬆口氣了。拆分後的 Moby 專案們無論在 Docker 公司的投入上、新特性的開放程度上、還是開發者活躍程度上,都會受到不小的影響。

哦,對了,LinuxKit 這個專案又搶了所有人的飯碗,這個贊點的略心痛。 LinuxKit 這個專案跟安全扯不上半毛錢關係,就是一個 distro。什麼,你還想用 CoreOS/RetHat/RancherOS?醒醒吧,劍指的就是你!

同樣的事情當然還發生在 HackerNews 上:A new upstream project to break up Docker into independent components(https://news.ycombinator.com/item?id=14156954) 已經吵成一片。

實際上,如果是正常的技術公司的話,一般會選擇繼續維護自己的開源專案,然後在自己公司裡賣一個企業版以及企業服務。這種例子太多了,幾乎每個開源專案都是這個套路。

但是唯獨 Docker 公司,它直接把 Docker 開源專案改名了,或者說的更直白一點,給抹去了。從這天開始,你再也不可能找到一個叫 Docker 的開源專案。

你從 Google 上搜到所有跟『Docker』相關的資訊,都會指向 Docker 公司的那兩個產品。原先 Docker 專案龐大的粉絲群,直接變成了 Docker 公司的客戶。

這也是為什麼所羅門一再解釋『原先的Docker使用者並不受影響』但是很多人並不買賬的原因。問題不在於什麼專案要改名啦,依賴庫不能用啦這種小問題。

關鍵問題在於,原 Docker 開源專案的使用者被實實在在地愚弄了一把。

這是前所未有的(不知道過去20年裡大家有沒有類似的例子)。

4、為什麼這樣做?

過去的20年裡,成功的開源專案數不勝數,但是這些專案背後成功的商業公司堪稱寥寥。要真較真說案例,也就 RedHat 這種能夠控制到作業系統層面的公司,才勉強算是個成功的例子。其他的專案,越往上層走,越難盈利(因為使用者越難留住)。

實際上,大多數開源專案的商業公司,能養活這個專案就已經很不錯了,盈利簡直是天方夜譚。這也是為什麼這麼多年了,業內還是沒事兒就討論一把『開源怎麼掙錢』這個問題。一個字,難。

君不見,這個圈子裡,無數來自伯克利、Google、掌握著核心黑科技的開源公司都趴在地上起不來,Docker 這個手裡並不控制核心技術、靠著 UI/UX 拿了天下的專案,盈利前景又如何呢?

Docker 公司不可能看不到這個問題。別忘了它本身就是從一個 PaaS 公司(dotCloud)出來的,所羅門真沒什麼心思考慮開源世界的理想抱負。他從Docker 專案成功的第一天開始,就是奔著做下一個 VMware 去的。否則 M$的40億美金收購,他根本沒理由拒絕掉。

我要賣產品,可是使用者在哪裡?原 Docker 專案那 4w 多個 star 就跟我招手了。

真就這麼急嗎?

灣區這邊一直有傳言稱 Docker 公司的投資方定下了嚴苛的盈利標準,看來並不是天方夜譚。一個做純後端技術獨角獸,確實有為難的一面,誰讓咱的目標是 NASDAQ 上市呢。

5、關於Docker的未來

毫無疑問,Docker 公司的未來是光明的,一個新的 VMware 正呼之欲出。重要的是,這個新 VMware 構建在一種全新的商業模式上,這其實是新時代我們耳熟能詳的:粉絲經濟。

有人問:這麼一來開發者不是被得罪了不少嗎?

傻孩子。真正願意付錢給 Docker 公司的老闆們,才沒工夫上 HackerNews 和 GitHub 呢!

『Docker?嗯,我聽說過,好像還挺火的。小劉,咱們也上一套吧!』

造熱度,上熱搜,層出不窮的 marketing 點子,不斷地吸納新粉、收割老粉(的老闆們)。不正是這種模式的精髓?

立志做 VMware 的 Docker 公司,並沒有功夫關心國內賣『自研 Docker 企業版』的小夥伴們。什麼『Docker 原生』,你再原生還能原生的過 Docker EE?更何況,價格還不一定誰便宜呢。

當然,國內有個資訊閉塞的好處,大家還能扯著 Docker 公司的旗,沾一下 Docker 龐大粉絲潮的光。

唯獨阿里雲這個傢伙、堂堂世界第三的雲,竟然甘做 Docker 公司的代理人賣起了 Docker EE。活該它在 DockerCon 上的新聞被國內的直播員們遮蔽(逃)。

只是,對於開源社群的參與者來說,就真剩下一片呵呵的表情了。Docker這麼大的專案說沒就沒,無數人點上 RIP 真不為過。Moby 社群的活躍度確實是個問號,別忘了自從 Docker 公司專注點轉移到了 Swarmkit 專案之後,老的Docker Swarm專案是如何一副慘淡的光景(4k+個 star 就沒變過,說好的碾壓 Kubernetes 呢?)。

還有人說以後是不是就是 Moby Meetup、Moby Birthday #5、MobyCon2018了呢?

Naive 啊!當然會授權給你們使用Docker商標和鯨魚圖片噠。只不過以後 DockerCon 變成 Docker 公司的產品釋出會,你們可別覺得奇怪。對了,DockerCon 期間一定會專門給 Moby 安排個子專案叫 MobyCon

什麼,你有情懷想自己開個 Moby Meetup?抽風了吧。你見過 VMWare World 開完了再開 ESXi Con 的嗎?

Docker

知乎:高策

https://www.zhihu.com/people/gaocegege

看到名字的瞬間還以為 Docker 被摩拜單車收購了,從此可以騎著共享鯨魚四處遊蕩,後來發現不是這樣的……

至於遷移的原因,可以參考 shykes(https://github.com/shykes) 的回覆 Pull Request #32691 · moby/moby(https://github.com/moby/moby/pull/32691#issuecomment-295754570),大致是說因為 Moby 要打破 Docker 現在 Monolithic 的設計,分成不同的 components 放在不同的 repo 裡。

而 Moby 負責把這些 components build 成 Docker CE,也可以通過定製修改等方式構建自己的 Docker 發行版。因此 Docker 現在的程式碼是早晚要被 deprecated 的。

之前在實現 Docker for Mac 的時候,已經有點這種轉變了,先是實現了三個 kit,感興趣的可以看看 Improving Docker with Unikernels: Introducing HyperKit, VPNKit and DataKit – Docker Blog(https://blog.docker.com/2016/05/docker-unikernels-open-source/)。以後 Docker 應該會被以這樣的粒度拆掉。

Docker

但是我覺得現在的做法太過激了,一點前奏都沒有直接就把 Docker transfer 到 Moby 了,導致社群和使用者都很疑惑。對於這點 shykes 洗了一下說之前 Docker 也經歷過從 dotCloud 到 Docker 下的過程,那時候 Docker 有 4w 個 star 麼 /w

此外我個人覺得 Moby 有一個很值得期待的子專案,linuxkit/linuxkit(https://github.com/linuxkit/linuxkit)。給定一個 linuxkit.yml,寫好 kernel 和 init,然後定義好要執行的 service,就會構建出一個作業系統來,boot 的時候就會執行定義的 service。

這應該是 moby 在作業系統級別的 kit,但是這個 kit 待遇很高,被單獨放在了一個 org 下,不知道是不是因為有著更大的願景在裡面。

總結來看,感覺這應該是 Docker 收購了 Unikernel Systems 後搞的大新聞,Docker for Mac 是一次試水,可能因為比較成功就直接引進,全面推廣,那才叫爽。

這次的 Moby 可能是在為打通容器跟 unikernel 做鋪墊,當然又沒去 DockerCon 17 又不是 Docker 員工,只是猜測而已。

文章來自微信公眾號:高效運維