泊塢窗是用於創建和運行Linux的技術的「容器」。從某種意義上講,你可以把它們看作輕量級的虛擬機。一個用於SpringBoot應用程序的docker容器將包含一個docker鏡像,該鏡像基本上包含一個文件系統,其中包含運行應用程序所需的所有內容(JVM,源代碼等)以及docker容器元數據,該元數據告訴docker守護進程在圖像中運行應用程序(例如,要設置的環境變量,要顯示的端口,要運行的命令等)。 docker守護進程將使用諸如cgroups和內核命名空間之類的Linux特性來獨立運行主機上運行的其他進程的容器。 Docker有點低級,因爲你需要指定進入鏡像的所有東西,它會運行任意的東西,也就是無論你放入鏡像並告訴它運行。您獲得的docker容器非常便於攜帶,因此您可以在本地構建,測試和運行Docker容器以進行開發,然後將該容器運送到生產主機,該主機上還運行了Docker守護程序,並且相當有信心你會得到完全相同的東西。
雲鑄造工作在更高的抽象層,用應用程序是第一類的概念。 Cloud Foundry使用與docker類似的容器化技術來構建可移植的圖像,然後運行它們,但這是一個實現細節,您無需指定所有細節。在更新版本的Cloud Foundry中,Docker鏡像也將得到支持,因此您可以根據需要指定細節,但它也有一個「buildpack」工作流程,在您推送應用程序時它會自動檢測Java應用程序,並知道包括構建映像時Java運行時所需的所有東西。
隨着Cloud Foundry的,因爲應用程序和應用程序管理是一流的理念,因爲它在更高層次上運行,你會得到各種各樣的東西是免費的。例如,您可以輕鬆地水平縮放您的應用程序(添加實例),例如cf scale my_app -i 5
或垂直,cf scale my_app -m 2G
(爲每個實例設置分配的內存)。您將獲得流式應用程序日誌:cf logs my_app
。 Cloud Foundry爲您提供了大量免費的容錯功能,因此如果您的某個應用程序實例崩潰,或者運行應用程序容器本身的進程崩潰(類似於docker守護進程),或者運行容器的宿主虛擬機 - 流程進程死亡或該VM所在的硬件集羣中斷,Cloud Foundry將自動恢復您的實例。
的碼頭工人守護進程是一個過程,你可以在任何Linux機器上運行。所以,如果你做的是簡單而小巧的事情,而且你需要自己完成大部分設置,那麼使用docker在本地和開發中啓動和運行起來會更容易。通過docker,訪問和共享您創建的docker映像也變得更加容易,因此,一旦創建了映像,就可以將其放入docker倉庫,然後在任何其他docker守護程序中運行它。使用Cloud Foundry時,構建的映像通常是實現細節,您無法真正訪問它,因此您無法提取該映像並在另一個Cloud Foundry安裝中運行該映像。
有各種各樣的項目旨在使Cloud Foundry更易於訪問和更容易設置,同時仍然爲您提供PaaS的諸多好處。其中一些項目還旨在讓您結合使用Docker和Docker的好處,同時還可以從Cloud Foundry獲得大量PaaS優勢。
請參閱Lattice和Cloud Foundry on BOSH-Lite。
還有幾個託管的Cloud Foundry服務。
見Pivotal Web Services和IBM BlueMix
也有很多打算把平臺層圍繞核心技術的碼頭工人非CF項目,在這兩種運行你自己和託管業務品種。
見Google's Kubernetes project和Amazon Container Service
全面披露:我是一個軟件工程師在Cloud Foundry上工作的樞紐
這將是更正確與[看守]比較多克(https://開頭的github .com/cloudfoundry/warden)(在CF的引擎下使用)。 –
http://heidloff.net/nh/home.nsf/article.xsp?id=20.02.2015092308NHEBUJ.htm – satks
您無法將PaaS(平臺即服務)與Container技術進行比較。容器技術只是Cloud Foundry的一小部分。 –