眾所周知,在全球范圍內(nèi),Docker已經(jīng)發(fā)展成為云計算的核心技術(shù)之一。
作為流行的容器管理技術(shù),Docker的最大優(yōu)點是能將應(yīng)用與計算環(huán)境分離,允許開發(fā)者在同一臺計算機上使用不同的技術(shù)。通過Docker,開發(fā)者可以使應(yīng)用程序在同一服務(wù)器上運行Python、Ruby、PHP、Node JS或任何其他語言,并將每個應(yīng)用程序安裝在具備獨立數(shù)據(jù)庫引擎的單獨容器中。
但是,8月13日生效的Docker公司最新服務(wù)條款引起了國內(nèi)IT業(yè)界的廣泛關(guān)注。該條款明確指出,Docker公司提供的服務(wù),禁止美國“實體清單”上的實體使用。
目前中國 IT 公司被列入貿(mào)易管制“實體清單”的企業(yè)包括:華為、商湯、依圖、曠視、??低?、大華、科大訊飛、美亞柏科、頤信科技、奇虎360、烽火科技集團、東方網(wǎng)力、達闥科技、云從科技、中科曙光、海光等。
而且,未來不排除更多的中國IT公司會被“請進”這個“實體清單”。
雖然受“實體清單”禁令限制的是Docker商業(yè)版及Docker的其它服務(wù),比如Docker Hub,但這依然給Docker中國的前景蒙上了陰影。
而且,有業(yè)內(nèi)人士指出:Docker這家公司到目前,最有價值的不是Docker軟件本身,而是Docker hub。
開源,當(dāng)下依然是最安全的選擇。Linux基金會不久前發(fā)布《了解開源科技和美國出口管制》白皮書指出,美國出口管制條例EAR明確豁免了大多數(shù)以開源形式呈現(xiàn)的軟件和技術(shù)。
對于國內(nèi)的IT企業(yè)和網(wǎng)絡(luò)安全企業(yè)來說,Docker的“實體清單”禁運,事實上已經(jīng)敲響了警鐘,是時候開始評估Docker的開源替代品了。
頂級Docker替代品
Docker遠非完美的產(chǎn)品,存在很多缺點。例如必須以root權(quán)限運行,并且停止容器將刪除其中的所有信息(卷中的內(nèi)容除外)。其他缺點還包括:安全性和隔離性不如VM、大規(guī)模不易管理(K8s應(yīng)用而生)、問題排查較難、不支持Windows等。
事實上,目前Docker軟件有不少優(yōu)秀的替代品,其中不少產(chǎn)品的技術(shù)成熟度、穩(wěn)定度和資源占用方面的表現(xiàn)不輸甚至優(yōu)于Docker。
以下,我們推薦十個Docker的最佳替代產(chǎn)品,您可以留言說出你眼中最好的產(chǎn)品。
OpenVZ
OpenVZ是基于Linux的流行的操作系統(tǒng)級服務(wù)器虛擬化技術(shù),可在單個物理服務(wù)器中創(chuàng)建多個安全且隔離的虛擬環(huán)境,從而提高服務(wù)器利用率和性能。虛擬服務(wù)器確保應(yīng)用程序不會沖突,并且可以獨立重新啟動。
OpenVZ還提供了一個網(wǎng)絡(luò)文件系統(tǒng)(NFS),允許從OpenVZ虛擬環(huán)境訪問網(wǎng)絡(luò)磁盤文件。該工具支持IA64處理器的檢查點和實時遷移,此功能是其他開源操作系統(tǒng)虛擬化軟件所無法提供的,系統(tǒng)管理員無需最終用戶干預(yù)即可使用虛擬服務(wù)器在物理服務(wù)器之間移動,而無需昂貴的存儲系統(tǒng)。
OpenVZ是一種開源技術(shù),也是SWsoft的Virtuozzo虛擬化產(chǎn)品的基礎(chǔ)。它為虛擬環(huán)境中的VLAN提供了標(biāo)準(zhǔn)支持,從而允許在不同網(wǎng)絡(luò)上標(biāo)記每個網(wǎng)絡(luò)數(shù)據(jù)包。支持FUSE(用戶空間中的文件系統(tǒng)),例如,它可以將FTP或SSH服務(wù)器顯示為虛擬環(huán)境中的文件系統(tǒng)。
網(wǎng)站:https://openvz.org/
系統(tǒng)支持:Linux
Rancher
Rancher是一種開源的容器管理技術(shù),提供完整的容器基礎(chǔ)設(shè)施服務(wù),包括網(wǎng)絡(luò)、存儲服務(wù)、主機管理和負載均衡等,支持各種基礎(chǔ)架構(gòu),可以簡單可靠地部署和管理應(yīng)用程序。
網(wǎng)站:https://rancher.com
支持系統(tǒng):Linux
Nanobox
Nanobox是開發(fā)人員的理想DevOps平臺。Nanobox可以完成基礎(chǔ)結(jié)構(gòu)的所有構(gòu)建,配置和管理,因此您可以專注于代碼而不是配置。
借助Nanobox,您可以自由地創(chuàng)建一致且隔離的開發(fā)環(huán)境,該環(huán)境可以輕松地與任何人共享,并且可以在任何主機(AWS、Digital Ocean、Azure、Google等)上實現(xiàn)。開發(fā)人員可以在本地計算機和云提供商之間一致地運行其應(yīng)用程序。
你可以非常輕松地使用Nanobox儀表板管理生產(chǎn)應(yīng)用程序,Nanobox還支持零停機時間部署和擴展,并通過統(tǒng)計信息顯示板以及歷史日志輸出來監(jiān)視應(yīng)用程序的狀態(tài)。
網(wǎng)站:https://nanobox.io/
系統(tǒng)支持:基于Web
Podman
PodMan是一個虛擬化的容器管理器,可用于Linux發(fā)行版,它的特殊之處在于它不需要運行Daemon,而是直接在runC上運行.PodMan允許我們以沒有root特權(quán)的用戶身份運行容器,從安全層面來看這極為重要!
通過Podman,我們不僅可以檢查OCI映像,甚至不下載它們,還可以從一個存儲庫中提取元素并將其直接移動到另一個存儲庫中,鏡像文件無需通過我們的設(shè)備傳輸。我們無需下載鏡像即可檢查或使用其組件。Podman還允許運行默認啟用Systemd的容器,無需進行任何修改。
Podman支持套接字激活,因此我們可以使用該系統(tǒng)來配置套接字,并可以訪問用于與該工具進行通信的遠程API。它能夠通過名稱空間使用UID分隔,這在運行容器時提供了額外的隔離層。
下載鏈接:https://developers.redhat.com/blog/2018/08/29/intro-to-podman/
系統(tǒng)支持:Linux
RKT
RKT屬于Core OS發(fā)行版,專為容器虛擬化和處理而開發(fā)。如今,它已成為Docker最大的競爭對手之一。RKT可在諸如ArchLinux、Core OS、Fedora、NixOS等Linux平臺上工作。
Core OS決定啟動RKT的主要原因之一就是安全性。在1.1版之前,Docker需要以root用戶身份運行,這是一個非常嚴重的漏洞,允許超級用戶級別的攻擊。相反,RKT允許我們對Linux權(quán)限使用標(biāo)準(zhǔn)的組處理,從而允許容器在沒有root特權(quán)的用戶創(chuàng)建后運行。
Docker的優(yōu)勢是易于集成,而RKT需要更多的手動安裝和配置。無論如何,它仍然是Docker的很好替代品,因為它允許我們使用APPC映像(App容器映像)以及Docker映像。反過來,它也允許與Kubernetes和AWS Orchestrator集成。
下載鏈接:https://github.com/rkt/rkt
系統(tǒng)支持:Linux
Singularity
Singularity是用于HPC(高性能計算)的操作系統(tǒng)虛擬器,因為它不需要與具有root特權(quán)的用戶一起運行,并且由于其隔離級別而非常適合在共享空間中使用。其安全理念是“不安全的客戶端運行不安全的容器”,這完全改變了安全范式。
關(guān)于Singularity的另一個重要事實是,我們可以導(dǎo)入和使用我們已經(jīng)擁有的Docker映像。我們甚至可以在本地編輯容器,然后將其掛載到共享環(huán)境中,因為它不需要root特權(quán)即可掛載。也可以使用基本文件傳輸協(xié)議(例如RSYNC、HTTP、SCP等)進行傳輸。
下載鏈接:https://sylabs.io/singularity/
系統(tǒng)支持:Linux
Kubernetes(K8s)
Kubernetes是一個用于自動組織和管理容器化應(yīng)用程序的開源系統(tǒng)。如果要使用流行的開源Linux容器設(shè)計應(yīng)用程序,那么Kubernets可能是為私有,公共或混合云托管創(chuàng)建云原生應(yīng)用程序最理想的方法之一。
Kubernetes使容器化應(yīng)用程序的部署,管理和擴展自動化,可以更輕松,快速和高效地執(zhí)行該過程。用戶現(xiàn)在可以一鍵式更新來更新他們在集群中使用的Kubernetes的核心版本。使Kubernetes集群保持最新狀態(tài)變得相當(dāng)容易,因為現(xiàn)在無需重新部署集群或應(yīng)用程序就可以做到這一點。
Kubernetes是一個開源項目,由Cloud Native Computing Foundation(CNCF)和Linux Foundation管理。這可以確保該項目得到大型開源社區(qū)的最佳實踐和想法的支持,此外還消除了依賴單個提供商的風(fēng)險。
網(wǎng)站:https://kubernetes.io/
系統(tǒng)支持:基于Web和Linux
Red Hat OpenShift Container Platform
Red Hat OpenShift Container Platform是一個開源的企業(yè)級Kubernetes平臺,可用于開發(fā)、部署和管理橫跨企業(yè)內(nèi)部、私有云和公有云架構(gòu)中的容器化應(yīng)用。
網(wǎng)站:https://www.openshift.com/products/container-platform
系統(tǒng)支持:Linux、Windows
Apache Mesos
Mesoso是基于Linux內(nèi)核的開源集群管理工具,可以在任何平臺(Linux、Windows或OSX)上運行。它還為應(yīng)用程序提供了用于資源管理和計劃的API??蓮膶S梅?wù)器或虛擬機中提取CPU、內(nèi)存、存儲和其他資源,從而使彈性系統(tǒng)易于構(gòu)建且可以高效運行,容錯能力突出。
Mesos使用兩層調(diào)度系統(tǒng),在該系統(tǒng)中,它確定要分配給每個框架的資源的數(shù)量,而框架則確定要接受的資源以及在這些資源上運行哪些任務(wù)。你可以擴展到50,000個節(jié)點,在不同框架之間共享集群,并不斷優(yōu)化。
Mesos允許集群運行應(yīng)用程序所在的框架,在不同服務(wù)器之間分配負載,從而避免過載,獲得最佳性能。Mesos通常用于Java、Python、Scala和R應(yīng)用程序。
網(wǎng)站:http://mesos.apache.org/
系統(tǒng)支持:Linux、OSX和Windows
FreeBSD
FreeBSD以其功能,速度,安全性和穩(wěn)定性而著稱。它來自BSD,這是在加州大學(xué)伯克利分校部署的UNIX改編版。它被廣泛的社區(qū)部署和追隨。FreeBSD提供了許多獨特的功能,尤其以創(chuàng)建出色的Internet或Intranet服務(wù)器而聞名。FreeBSD可以在高負載下提供強大的網(wǎng)絡(luò)服務(wù),內(nèi)存利用效率高,可以快速響應(yīng)數(shù)百萬個并發(fā)進程。
FreeBSD還提供了針對連接器和完整平臺的改進的網(wǎng)絡(luò)操作系統(tǒng)功能,支持從Intel推崇的高端連接器到ARM、MIPS和PowerPC硬件平臺。FreeBSD擁有23,000多個庫和外觀應(yīng)用程序,可支持用于臺式機、助手、設(shè)備和集成媒體的應(yīng)用程序。
網(wǎng)站:https://www.freebsd.org/
系統(tǒng)支持:Unix和基于Web的
Vagrant
Vagrant是自動創(chuàng)建和配置可移植可運行虛擬機的工具。與Docker這樣的DevOps工具相比,Vagrant的一大優(yōu)點是,任何計算機科學(xué)家/程序員/開發(fā)人員(甚至是使用Windows的人)都能快速掌握并使用它,因為Vagrant能配置并自動創(chuàng)建虛擬機。
Vagrant安裝在開發(fā)人員的計算機上,面向開發(fā)環(huán)境,而不是生產(chǎn)環(huán)境。甚至Vagrant的開發(fā)公司都不推薦在生產(chǎn)環(huán)境中使用Vagrant。Vagrant是跨平臺的,支持的系統(tǒng)包括:Mac、Windows、CentOS和Debian。Vagrant的定位是開發(fā)人員之間的,安裝可移植且可運行開發(fā)環(huán)境的工具。
默認情況下,Vagrant使用Virtual Box進行虛擬化,但可與任何虛擬化軟件一起使用,Vagrantfile配置文件的語法也很簡單。
網(wǎng)站:https://www.vagrantup.com/
系統(tǒng)支持:Debian、centOS、Arch Linux、Linux、FreeBSD、macOS和Microsoft Windows
文件大小:210 MB(用于Windows)
LXC
LXC是一種操作系統(tǒng)級別的虛擬化技術(shù),允許用戶獨立創(chuàng)建和運行多個虛擬Linux環(huán)境。
與Docker的不同之處在于,LXC可看作是一個完整的操作系統(tǒng)。另一方面,Docker只能運行單個應(yīng)用程序,并且對OS有一定的限制。與Docker相比,LXC是一種更輕便,更安全的選擇,因為它消耗的資源更少,并且不需要以root身份運行。
上述優(yōu)點的代價就是復(fù)雜性增加,除此之外,我們還必須添加糟糕的文檔。通常,當(dāng)我們使用容器時,我們想要的是快速,輕松地創(chuàng)建我們的工作環(huán)境。因此,LXC這個替代方法更適合高級用戶。
網(wǎng)站:https://linuxcontainers.org/
系統(tǒng)支持:Linux
以上是十種可以在多操作系統(tǒng)上使用的頂級Docker替代軟件。如果您有更好的Docker替代產(chǎn)品推薦,請?zhí)峤辉诹粞詤^(qū)。
- End -
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!
ckquote>