作者 | 王瑞平
審校 | 云昭
前幾日,Docker Hub出了一件大事!但凡創(chuàng)建了“organisation”的用戶都收到了一封含有簡(jiǎn)短PDF鏈接的郵件。郵件的內(nèi)容“金錢(qián)味”十足:如果不按照要求升級(jí)付費(fèi),用戶就將失去對(duì)數(shù)據(jù)的訪問(wèn)權(quán)限。此舉不僅會(huì)破壞開(kāi)源項(xiàng)目的自動(dòng)化構(gòu)建,還為一直依賴于開(kāi)源的用戶帶來(lái)巨大的焦慮和麻煩??磥?lái),想要白嫖的用戶,好日子到頭了!
郵件中提到,在審查了遺留的免費(fèi)組織類型的用戶賬戶列表后,Docker正在清退淘汰它們。按照要求,列表中的私人存儲(chǔ)庫(kù)將于4月14日被強(qiáng)制暫停。如果這些用戶還想繼續(xù)訪問(wèn),他們不得不在這個(gè)日期之前升級(jí)為付費(fèi)用戶。
在此期間,用戶公共存儲(chǔ)庫(kù)中任何鏡像訪問(wèn)權(quán)限仍會(huì)被保留。如果用戶按照要求升級(jí)付費(fèi),都可以恢復(fù)對(duì)組織帳戶的訪問(wèn)權(quán)限。
Docker Hub是世界上最大的容器鏡像存儲(chǔ)庫(kù),擁有一系列內(nèi)容源,包括容器社區(qū)開(kāi)發(fā)者、開(kāi)源項(xiàng)目和獨(dú)立軟件供應(yīng)商。
此前,用戶不僅可以訪問(wèn)免費(fèi)的公共存儲(chǔ)庫(kù),也可以選擇私人回購(gòu)的訂閱計(jì)劃。
不過(guò)還好,Docker此次取消開(kāi)源轉(zhuǎn)為付費(fèi)的舉措并沒(méi)有“趕盡殺絕”。Docker個(gè)人、Docker專業(yè)版、Docker團(tuán)隊(duì)(付費(fèi))以及Docker商業(yè)版等仍會(huì)被保留。
1、用戶:不能接受清退開(kāi)源
如果取消免費(fèi),清退開(kāi)源,最大的問(wèn)題是:每個(gè)創(chuàng)建了自有“組織”的Docker Hub用戶維護(hù)其公共形象的成本將會(huì)從0美元/年上升至每年幾百美元。這種行為無(wú)異于將用戶當(dāng)作人質(zhì),如果不付錢(qián),系統(tǒng)就會(huì)崩潰。
其次,Docker誕生于開(kāi)源時(shí)代,雖然存在資金問(wèn)題,也不應(yīng)該以這種方式對(duì)開(kāi)源程序所允許的范圍進(jìn)行脫離實(shí)際的界定。它排除了任何業(yè)余項(xiàng)目,以及完全捐贈(zèng)給開(kāi)源基金會(huì)的項(xiàng)目。這會(huì)使其在用戶心目中的威信大打折扣。
而且,該產(chǎn)品的免費(fèi)版本已被開(kāi)源項(xiàng)目廣泛使用。刪除它意味著丟失與這些團(tuán)隊(duì)相關(guān)的數(shù)據(jù),包括Docker鏡像。因此,Docker不應(yīng)尋求通過(guò)服務(wù)或收取更高層次的費(fèi)用來(lái)盈利,接受捐款維持開(kāi)源倒是可以被接受。
社區(qū)中的用戶都曾經(jīng)是Docker的締造者。而現(xiàn)在,當(dāng)Docker已經(jīng)獲得了巨大的收益,就完全忘記了自己的根基。
2、收費(fèi)后影響幾何?
Docker的CTO曾在推特上非正式地聲明說(shuō):“他們將關(guān)閉不付款的賬戶,并且不允許任何人接管。”
而事實(shí)并沒(méi)有如此絕對(duì)。在理想的情況下,這些組織的帳戶將繼續(xù)連接到用戶帳戶。因此,如果之后用戶為它們付費(fèi),還可以恢復(fù)。
在此期間,為應(yīng)對(duì)惡意軟件和有毒鏡像帶來(lái)的破壞。維護(hù)者已經(jīng)轉(zhuǎn)向?yàn)殚_(kāi)源及私有軟件項(xiàng)目托管平臺(tái)GitHub注冊(cè)中心發(fā)布開(kāi)源包。
為什么?因?yàn)镈ocker對(duì)用戶實(shí)施了速率限制,任何從Docker Hub下載內(nèi)容的用戶都需要付費(fèi)訂閱——無(wú)論是個(gè)人還是公司。花錢(qián)才可以下載Prometheus、NATS、Go、Python和Node鏡像。
值得慶幸的是,如果你所維護(hù)的項(xiàng)目屬于基金會(huì),比如,CNCF或Apache基金會(huì),你還可以輕松地申請(qǐng)開(kāi)通。
3、Docker Hub為用戶帶來(lái)方便
用戶都知道,Docker本身只是個(gè)工具,而Docker Hub才是全部生態(tài)的核心。打個(gè)比方,Docker Hub好似App Store,要是沒(méi)了App,你的手機(jī)真就淪為“移動(dòng)電話”了。
具體來(lái)講,Docker Hub就是儲(chǔ)藏Docker的一個(gè)中心,名稱近似于Github。對(duì)比來(lái)看,Github存放code,Docker Hub存放Docker images。
Docker Hub方便用戶探索世界上最大的容器鏡像庫(kù),從而輕松搜索超過(guò)100萬(wàn)個(gè)容器鏡像。不僅如此,它還能在公共或私有存儲(chǔ)庫(kù)中共享和存儲(chǔ)鏡像,方便用戶獲取免費(fèi)的公共存儲(chǔ)庫(kù)或選擇私人回購(gòu)的訂閱計(jì)劃。
就像前文中描述的那樣,Docker Hub是私有存儲(chǔ)庫(kù),能夠通過(guò)GitHub和Bitbucket自動(dòng)構(gòu)建容器鏡像,并將它們推送到Docker Hub的團(tuán)隊(duì)和組織。
Docker Hub上的鏡像分為兩大類,一類是官方鏡像,如,nginx、mysql 等;另一類是普通用戶鏡像,由用戶自己上傳。對(duì)于國(guó)內(nèi)用戶,如果覺(jué)得Docker Hub訪問(wèn)速度過(guò)慢,可以使用國(guó)內(nèi)一些公司提供的鏡像。
這些鏡像十分安全,能夠方便用戶構(gòu)建項(xiàng)目,一眼就能找到適合的圖片。同時(shí),Docker Hub還能夠檢查鏡像,了解鏡像組件中存在的漏洞,并使用這些漏洞解決問(wèn)題。
個(gè)人在使用Docker Hub過(guò)程中,涵蓋以下幾種情況:在上面找一些成熟的Docker Image,比如,python與ubuntu等,然后pull到本地進(jìn)行使用;另外,就是將Docker Hub當(dāng)做個(gè)人的Docker 鏡像儲(chǔ)存器,將個(gè)人的鏡像放上去。
4、如何升級(jí)到付費(fèi)模式
很多用戶可能會(huì)質(zhì)疑,付費(fèi)訂閱Docker是否有好處? 當(dāng)然,Docker系列產(chǎn)品具備不同優(yōu)勢(shì)。首先,Docker 是加快生產(chǎn)力的個(gè)人開(kāi)發(fā)人員的不二之選;其次,Docker Team是期待高效合作小團(tuán)隊(duì)用戶的理想選擇;再有,Docker Business是尋求集中管理企業(yè)的最佳選擇。
那么,用戶如何才能升級(jí)到付費(fèi)訂閱模式呢? 第一步,您需要在docker.com上登錄您的帳戶,然后,選擇標(biāo)題中的Upgrade,并選擇您想要升級(jí)到的付費(fèi)訂閱級(jí)別和座位數(shù)量,最后,繼續(xù)付款就行啦!
一旦你升級(jí)到付費(fèi)訂閱模式,你的帳戶和所有目錄下的關(guān)聯(lián)配置、鏡像和存儲(chǔ)庫(kù)將100%保留下來(lái),是不是很nice!
5、有哪些可以替代Docker
一位Reddit用戶發(fā)表了這樣的觀點(diǎn):Docker Hub清退開(kāi)源很殘酷,但卻不得不面對(duì)這個(gè)現(xiàn)實(shí),并將尋找更好的替代品。
Podman、Kubernetes、Openshift、LXD、Docker Swarm、BuidKit和 Mesos是當(dāng)今市場(chǎng)上一些流行的替代品。下面著重討論P(yáng)odman、Containerd兩種替代方案:(1)Podman無(wú)守護(hù)程序、開(kāi)源,可用于構(gòu)建、運(yùn)行和管理 Linux OCI 容器和容器鏡像。它易于使用、與Kubernetes兼容、支持多種容器格式,可對(duì)資源分配提供更細(xì)粒度的控制。(2)Containerd則為運(yùn)行容器提供了一致且穩(wěn)定的接口,通過(guò)啟動(dòng)和停止容器來(lái)管理容器的生命周期,可進(jìn)行圖像管理和存儲(chǔ)。此外,Containerd還可以與其它容器編排工具共同使用,以管理集群中容器的擴(kuò)展和調(diào)度,具有輕量級(jí)、一致性、靈活性等優(yōu)勢(shì)。如今可以預(yù)見(jiàn)的是,在未來(lái)的幾年內(nèi),Docker依然能夠在市場(chǎng)中占有一定的比例。而十年后,IT界將不會(huì)再把Docker作為開(kāi)發(fā)者技術(shù)棧中的必備工具。
參考資料:
??https://blog.alexellis.io/docker-is-deleting-open-source-images/??