Docker

Infobox software | name = Docker | title = Docker | logo = Docker ( container engine ) logo.svg | logo size = 250px | screenshot = | caption = | collapsible = | author = Solomon Hykes | developer = Docker, Inc.. | released = | latest release version = | latest release date = | latest preview version = | latest preview date = | programming language = Go | operating system = Linux 、 Windows 、 macOS | platform = x86 - 64 、 ARM 、 s390x 、 ppc64le | language = | genre = 作業系統層虛擬化 | license = 可執行檔 ： 免費增值軟件即服務原始碼 ： Apache許可證 2.0 | website = Docker是一個開放原始碼的開放平臺軟體 ， 用於開發應用 、 交付 （ shipping ） 應用 、 運行應用 。 Docker允許用戶將基礎設施 （ Infrastructure ） 中的應用單獨分割出來 ， 形成更小的顆粒 （ 容器 ） ， 從而提高交付軟件的速度 。 Docker容器與虛擬機類似 ， 但二者在原理上不同 。 容器是將操作系統層虛擬化 ， 虛擬機則是虛擬化硬件 ， 因此容器更具有便攜性 、 高效地利用服務器 。 容器更多的用於表示 軟件的一個標準化單元 。 由於容器的標準化 ， 因此它可以無視基礎設施 （ Infrastructure ） 的差異 ， 部署到任何一個地方 。 另外 ， Docker也爲容器提供更強的業界的隔離兼容 。 Docker 利用Linux核心中的資源分離機制 ， 例如cgroups ， 以及Linux核心 （ namespaces ） ， 來建立獨立的容器 （ containers ） 。 這可以在單一Linux實體下運作 ， 避免啓動一個虛擬機器造成的額外負擔 。 Linux核心對命名空間的支援完全隔離了工作環境中應用程式的視野 ， 包括行程樹 、 網路 、 用戶ID與掛載檔案系統 ， 而核心的cgroup提供資源隔離 ， 包括CPU 、 記憶體 、 block I / O與網路 。 從 0.9 版本起 ， Dockers在使用抽象虛擬是經由libvirt的LXC與systemd - nspawn提供界面的基礎上 ， 開始包括libcontainer函式庫做爲以自己的方式開始直接使用由Linux核心提供的虛擬化的設施 ， 依據行業分析公司 「 451研究 」 ： 「 Dockers是有能力打包應用程式及其虛擬容器 ， 可以在任何Linux伺服器上執行的依賴性工具 ， 這有助於實現靈活性和便攜性 ， 應用程式在任何地方都可以執行 ， 無論是公用雲端伺服器 、 私有云端伺服器 、 單機等 。 」