區別:1、docker將應用程式的所有配置打包到一個容器中,具有可移植性,LXC僅僅實現了進程沙盒化,並不能在不同機器上進行移植;2、docker針對應用的API、使用者介面、設計原理及文件上面部署做了優化,而LXC只關注容器並沒有過多的優化。
本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。
lxc和docker之間的差異是什麼
#Docker並不是LXC的替代品,Docker的底層就是使用了LXC來實現的。 LXC將Linux進程沙盒化,使得進程之間相互隔離,並且能夠控制各進程的資源分配。
在LXC的基礎上,Docker提供了一系列更強的功能。
可移植性
Docker定義了一種新的格式,將應用程式和其依賴環境全部打包到單一物件中,這個物件可以在任何安裝有Docker的機器上共享,在任何機器上執行這個物件的效果都是一樣的。 LXC僅僅實現了流程沙盒化,並不能在不同機器上進行移植。 Docker將應用的所有配置進行抽象,打包到一個容器中,使得該容器具有可移植性。
以應用程式為中心
Docker針對應用程式的部署做了最佳化,反映在其API,使用者接口,設計原理及文件上面。而LXC僅僅關注容器作為一個輕量級的伺服器。
自動化建置
Docker中支援Dockerfile,將應用的所有依賴項,建置工具和套件都以源碼的形式寫在Dockerfile中,然後Docker可以根據Dockerfile建置映像。該鏡像在任何機器上面運行的效果都一樣。
版本控制
Docker對容器提供了類別git的版本控制功能,支援版本回溯等功能。 Docker也實現了增量上傳和下載的功能,節省了上傳和下載時的頻寬資源。
元件重複使用
一個映像可以作為基礎鏡像來建立更多特定的鏡像,而鏡像之間支援多層重複使用。
映像共享
Docker開發了一個Docker Hub,裡麵包含了各種常用的映像,非常方便,我們也可以將自己的映像上傳到Docker Hub中。使用者也可以在私人環境中搭建自己的Docker倉庫,用來滿足鏡像的內部共享。
工俱生態系統
Docker定義了一個API,用於自動化和本地化容器的建立和部署。已經存在大量的整合了Docker的工具集,例如Deis,mesos,docker-ui,jenkins等等。
推薦學習:《docker影片教學》
以上是lxc和docker之間的差異是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!