1、先決條件
在開始學(xué)習(xí)之前,假設(shè)您已經(jīng)熟悉了和掌握了如下的概念:
--IP地址和端口
--虛擬機(jī)
--編輯配置文件
--基本熟悉代碼依賴和構(gòu)建的思想
--機(jī)器資源使用術(shù)語:如CPU百分比和RAM使用情況等
最后,雖然我們會在需要時(shí)會再次提醒您,但您可以提前注冊一個(gè)Docker Cloud賬號:https://cloud.docker.com/,并在本地計(jì)算機(jī)上通過運(yùn)行下面的命令登陸并使用它:docker login
2、容器的簡要說明
鏡像(image)是一個(gè)輕量級的,獨(dú)立的,可執(zhí)行文件包,其包含軟件運(yùn)行所需的所以內(nèi)容,包括代碼,運(yùn)行時(shí),依賴庫,環(huán)境變量和配置文件。
容器(container)是鏡像的運(yùn)行時(shí)實(shí)例。默認(rèn)情況下,它與主機(jī)環(huán)境完全隔離,只有通過配置后才能夠訪問主機(jī)文件和端口。
容器宿主機(jī)的內(nèi)核上運(yùn)行應(yīng)用程序。相對比虛擬機(jī)來說,容器具有更好的性能。容器可以獲得本地訪問權(quán)限,每個(gè)容器都以獨(dú)立的進(jìn)程運(yùn)行,不需要額外的內(nèi)存。
3、容器與虛擬機(jī)器
下面是虛擬機(jī)與容器進(jìn)行比較的圖表:
3.1 虛擬機(jī)

虛擬機(jī)運(yùn)行依賴自己的操作系統(tǒng) - 即每個(gè)虛擬機(jī)都包含一個(gè)操作系統(tǒng)層。它這是資源密集型的,產(chǎn)生的磁盤映像和應(yīng)用程序狀態(tài)都是依賴操作系統(tǒng)環(huán)境、系統(tǒng)安裝的依賴關(guān)系和操作系統(tǒng)安全補(bǔ)丁,因此虛擬機(jī)是重量級的,不容易復(fù)制和進(jìn)行網(wǎng)絡(luò)傳播。
3.2 容器

容器共享宿主機(jī)的內(nèi)核,在一個(gè)容器鏡像中唯一需要的信息是可執(zhí)行文件及其依賴包,它們不需要安裝在宿主機(jī)系統(tǒng)上。容器進(jìn)行就向像宿主機(jī)本地進(jìn)程一樣運(yùn)行,您可以通過運(yùn)行docker ps命令來管理它們,就像在Linux上運(yùn)行ps命令一樣,來查看活動(dòng)進(jìn)程。最后,因?yàn)樗鼈?b>包含了所有的依賴關(guān)系,因此一個(gè)容器化的應(yīng)用程序能夠?qū)崿F(xiàn)“隨處運(yùn)行”。