Docker之docker核心思想

上一篇文章我們介紹了關於什麼是docker,docker有什麼優點,以及docker用在哪些方面,如果還沒有看,可以點擊這裏《docker之docker簡介》,這一篇主要介紹關於什麼的docker的核心思想


docker的核心思想主要體現在哪些方面呢?


1) 集裝箱

2) 標準化

a. 運輸方式

b. 存儲方式

c. API接口

3) 隔離


那我們就來說說具體是什麼樣子把。

Docker鏡像

鯨魚背上馱着的集裝箱就是鏡像,鏡像本質就是文件,可以是我們運行環境的文件,也可以是運用程序的文件,docker把它保存到本地。存儲格式是以Linux的聯合文件存儲。

Docker鏡像(Image)類似與虛擬機的鏡像,可以將他理解爲一個面向Docker引擎的只讀模板,包含了文件系統。

    例如:一個鏡像可以完全包含了Ubuntu操作系統環境,可以把它稱作一個Ubuntu鏡像。鏡像也可以安裝了Apache應用程序(或其他軟件),可以把它稱爲一個Apache鏡像。

    鏡像是創建Docker容器的基礎,通過版本管理和增量的文件系統,Docker提供了一套十分簡單的機制來創建和更新現有的鏡像。

    用戶可以從網上下載一個已經做好的應用鏡像,並通過命令直接使用。

    總之,應用運行是需要環境的,而鏡像就是來提供這種環境。


最底層【bootfs】是一個操作系統的引導,然後【Base Image】是一個具體的Linux的操作系統,在上面【Image】是一些相關的文件,可以是tomcatJDK 等等,Docker每一層的文件都是隻讀的,每一層加載完成都被看成是同一個目錄

Docker容器

 Docker容器(Container)類似於一個輕量級的沙箱子(因爲Docker是基於Linux內核的虛擬技術,所以消耗資源十分少),Docker利用容器來運行和隔離應用。

容器是從鏡像創建的應用運行實例,可以將其啓動、開始、停止、刪除,而這些容器都是相互隔離、互不可見的。可以吧每個容器看作一個簡易版的Linux系統環境(包括了root用戶權限、進程空間、用戶空間和網絡空間),以及與運行在其中的應用程序打包而成的應用盒子。

鏡像自身是隻讀的。容器從鏡像啓動的時候,Docker會在鏡像的最上層創建一個可寫層,鏡像本身將保持不變。就像用ISO裝系統之後,ISO並沒有什麼變化一樣。


容器是可讀可寫的,如果要寫一個文件,則把對應的文件拷貝到最上層【Container】進行修改,如果一個程序要讀,則從頂層開始查找,因爲改成那個文件已經拷貝到最上層了,如果找不到再往下面查找。由於鏡像是不能修改的,但是容器是可以修改的,所有可以保障一個鏡像可以在多個容器中運行,他們之間沒有任何干擾,獨立運行。

Docker倉庫

Docker倉庫(Repository)類似與代碼倉庫,是Docker集中存放鏡像文件的場所。

根據存儲的鏡像公開分享與否,Docker倉庫分爲公開倉庫(Public)和私有倉庫(Private)兩種形式。

Docker提供的倉庫:hub.docker.com,可以看到docker倉庫中提供的哪些鏡像

國內的有:靈雀雲  https://hub.alauda.cn/

 時速雲 https://hub.tenxcloud.com/

阿里雲 https://dev.aliyun.com/search.html 

網易鏡像中心:https://c.163yun.com/hub#/m/home/  網易鏡像是需要用戶先登錄到管理平臺,然後在鏡像中心查看,推薦使用網易鏡像,目前使用來看網易的鏡像速度最快




發佈了117 篇原創文章 · 獲贊 94 · 訪問量 40萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章