1、docker 概述linux
Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何藉口,幾乎沒有性能開銷,能夠很容易地在機器和數據中心運行。最重要的是,他們不依賴與任何語言、框架或者包裝系統。docker
如今接觸的軟件是怎麼發佈的?shell
windows 下的 2-16-office.exe,不能在 xp 上運行;mk.rpm 在 redhat 系統 linux 上運行,可是不能再其餘linux 版本上運行。如今發佈的軟件包和系統相關。數據庫
LXC 爲 linux container 的簡寫,linux container 容器是一種內核虛擬化技術,能夠提供輕量級的虛擬化,以便隔離進程和資源,並且不須要提供指令解釋機制以及全虛擬化的其它複雜性。ubuntu
LXC 主要經過來自 kernel 的 namespace 實現每一個用戶實例之間的相互隔離,經過cgroup 實現對資源的配額和度量。windows
總結:相對 VM 虛擬機,少了虛擬操做系統這一層,因此 docker 效率高。centos
2、工做流程。服務器
工做流程:服務器 A 上運行 docker Engine 服務,在 docker Engine 上啓動不少容器 container,從外網 Docker Hub 上把 image 操做系統鏡像下載下來, 放到 container 容器運行,這樣,一個容器實例就運行起來了。網絡
dockerhub:dockerhub 是 docker 官方的鏡像存儲站點,其中提供了不少鏡像提供用戶下載,如ubuntu,centos 等系統鏡像。須要用戶註冊一個帳號,在網站上建立一個 docker 倉庫。框架
3、Docker 核心技術
一、Namespace -- 實現 container 的進程,網絡,消息,文件系統和主機名的隔離。
二、cgroup -- 實現對資源的配額和度量。
注:cgroup 的配額,能夠指定實例使用的 cpu 個數,內存大小等。
4、docker特性:
5、優缺點
優勢:
缺點: