首先一聽到docker那肯定就要知道,docker是什么。

? ? ? 針對于docker是什么 ,干什么用,那些官方性的話我就不說了,百度一下一大片,直接就用他的logo做介紹,首先需要知道,docker現(xiàn)在普遍的用于linux,windows,如果把linux,windows比作是大海的話,那docker就是那條鯨魚,拿有的人就納悶了,那他背上的集裝箱是幾個意思???
那好好的看一下圖標,你品,你仔細品,你細細的品,docker他的核心是:鏡像,容器,倉庫,而這個集裝箱他就是一個容器。
? ? 那這個容器到底是什么呢?針對于容器的概念呢,有點抽象,舉個簡單的例子就是:你吃飯用的碗,里面有飯,有排骨,有荷包蛋。你這個碗就是一個容器。說白了就是用來存放東西的一個東東叫做容器。那docker里面的這個容器到底放的是什么呢?
docker里面的容器是用來存放各種服務,比如:php,mysql,nginx,redis,mongo,swoole等等。
說到這個容器,大致應該就明白docker是干嘛的吧?想象以下,如果那些集裝箱里面裝了各種服務,當另一臺服務器是全新的時候,但是又要配置和docker里面相同的環(huán)境,那我只要把這些集裝箱里面的東西拿出來拷貝一份。到另外一個服務器上面去下載一個docker然后把這拷貝過來的東西放到集裝箱里面,那不就是一樣的環(huán)境了么?docker的一個用處
接下來說到鏡像,鏡像他是一個聯(lián)合文件系統(tǒng),怎么理解呢?就是好比一個雞蛋殼一樣。舉個簡單的例子。我們下載一個php鏡像,docker pull?php

會發(fā)現(xiàn),我pull了一個php,居然給我下載了那么多東西。那這些是什么呢?(我也不知道)
但是我知道的是,這些東西肯定是運行PHP,所必需的東西,下面用一個圖來解釋

從圖中可以看到,下載一個PHP所需要下載的東西是一層一層的往外套,就好比洋蔥一樣,這就是鏡像的一個原理,具體的聯(lián)合文件系統(tǒng)的解釋,就不做官方介紹了。

說到鏡像這塊,在說一說,鏡像和容器的關系,如果把鏡像比作一個類,那容器就是實例化的這個類,上面圖片里面最里面的是一個kernel,他就是一個精簡版的linux,那需要怎么證明呢?舉個簡單的例子。
我們運行一個容器,然后進入到這個容器里面。

看到?jīng)]有?居然和宿主機的linux一毛一樣,在回想一下,一個服務需要啟動,是不是需要一個運行環(huán)境,那最基礎的運行環(huán)境是什么?linux咯
所以kernel就是一個linux的內(nèi)核,至于他為什么沒有Linux那么大呢?因為這是一個精簡版的,沒有硬件和雜七八雜的東西,只有簡單基礎的一個環(huán)境。
至于倉庫就不多介紹了,就是一個存放鏡像的一個地方,舉個簡單的例子,github就是這樣一個倉庫。