原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
原文連接地址:『中級篇』docker架構和底層技術(12)linux
前11節主要是介紹docker的安裝,若是跟這我來學我相信你們已經有了一個docker的安裝環境,本次是看下docker的架構和底層的技術,其實隨着各位老鐵的學習我相信對於docker架構和底層技術會愈來愈深刻的瞭解,特別是底層技術,後面會邊用邊給你們介紹底層的linux的技術。ios
- 最核心的是 Docker Daemon咱們稱之爲Docker守護進程,也就是Server端,Server端能夠部署在遠程,也能夠部署在本地,由於Server端與客戶端(Docker Client)是經過Rest API進行通訊。
- REST 作過web開發都瞭解,它的效率槓槓的。
- docker CLI 實現容器和鏡像的管理,爲用戶提供統一的操做界面,這個 客戶端提供一個只讀的鏡像,而後經過鏡像能夠建立一個或者多個容器。(container),這些容器能夠只是一個RFS(Root File System),也能夠是一個包含了用戶應用的RFS。容器在docker Client中只是一個進程,兩個進程是互不可見的。用戶不能與server直接交互,但能夠經過與容器這個橋樑來交互,因爲是操做系統級別的虛擬技術,中間的損耗幾乎能夠不計。
- 其實docker就是個C/S的架構,有client和server的。
容器=cgroup+namespace+rootfs+容器引擎(用戶態工具LXC)git
PS:這裏面不少底層的技術,說實話,仍是感受不須要那麼急着瞭解這些底層linux的技術,隨着我們慢慢對docker深刻認識,裏面的技術細節也會展開深刻的的說。github
有初學者還在問,docker都出了這麼多課程了,可否通俗易懂的說下,我就在baidu找了一些內容分享出來,文章也是轉載的,寫的互聯網。web
首先你有一個 100 平方的房子(服務器),已知你(PHP 應用)須要吃喝拉撒睡覺,因此整個房子劃分了臥室、廚房、衛生間等,而後供你一我的享用,但其實挺浪費的,你一我的並不須要 100 平方這麼大,可能須要 20 平方(服務器佔用 20%)就行了。docker
後來又來了個別人(Java 應用)也被安排到了這個房子裏生活,他也須要吃喝拉撒睡,因此大家擠在了一個牀上,用一個衛生間(好比 http 服務器)。若是你改了你的習慣(例如 http 服務配置項)一樣會影響別人的生活。bash
後來又來了人(Node 應用),這時候房東發現房子不夠大了,因此搬家(遷移、升級服務器)到另外一個 150 平的房子,可是搬家成本好高。因爲戶型不一樣(系統版本、環境等)須要裝修很久,此外還要把住戶(應用代碼)搬過來,還須要把住戶自定義的習慣都帶過來簡直麻煩死了。服務器
這時候,房東瞭解到了一個叫 Docker 的產品。架構
Docker 是一個可自由伸縮的集裝箱房屋:app
這個集裝箱房屋雖小可是五臟俱全,並且能夠知足一切用戶需求,並支持高度自定義,好比 Node 這位住戶不須要廚房,那麼他的集裝箱房子就小一點,固然房租(服務器消耗)也便宜一些。
房東用了 Docker 這個產品以後,發現租房這個事情變簡單了:
扯完了:
源碼的路徑:github.com/limingios/d…
vagrant plugin install vagrant-vbguest
vagrant reload --provision
vagrant up
複製代碼
建立完畢
#進入虛擬機
vagrant ssh
sudo docker version
複製代碼
我的網站:IT人故事會 idig8.com
PS:開始實踐了,歡迎你們持續關注。