Docker并非容器虛擬化。Docker容器技術是一個開源平臺,能夠幫助管理員在容器中自動部署應用。像Docker這樣的工具依賴于通過LXC、libvirt、systemd-nspawn組件部署在Linux中的容器層。Docker的確包括了稱之為libcontainer、用于容器化的類庫。其他容器方式包括cgroups、用戶空間內用于Linux操作系統的Checkpoint/Restore(CRIU)以及Kubernetes。
Docker的容器技術在行業中獲得如此多關注的原因在于它提供了一個平臺,該平臺能夠在單個包中高效集成并管理應用以及所有的依賴組件,該應用包能夠被放置到容器中而且可以在任何Linux服務器上運行。Docker封裝應用的方式使得它能夠在本地、私有云、公有云等平臺中運行。因此Docker提供了巨大的應用靈活性及可移植性——正是這些屬性引發了眾多企業應用者的關注。
例如,Docker已經被集成到主要的云供應商產品中,比如Amazon Web Services、Google云平臺、微軟Azure以及其他行業領先的云基礎設施工具,比如Cloud Foundry Diego、OpenStack Nova、OpenSVC、Chef、Puppet、Salt等。Docker可能最終會被集成到紅帽的OpenShift Origin 平臺中。
盡管Docker容器技術目前聚焦于Linux環境,但有一個用于創建獨立于廠商、能夠支持多種操作系統標準的創業項目——開放容器項目(OCP)正在進行。因此在理想情況下,軟件開發人員應該能夠打包應用并清楚該應用將與Docker、CoreOS的rkt或者來自FreeBSD的Jetpack runtime項目,以及Apcera的Kurma容器環境一同運行。最終的目標是創建單個統一的容器環境而非創建多個競爭、不兼容的環境。
容器為軟件開發人員以及數據中心維護人員提供了新的機遇,但容器同樣提出了需要被了解并予以解決的新挑戰。好消息是容器技術不具有排他性。容器僅僅是虛擬化工具箱中的另一個工具——能夠與當前基于hypervisor的虛擬化在同樣的環境中共存,允許管理員以及開發人員以輕松的方式試用并接收容器。