1、前言面試
5W1H法則是在一次面試中學習到的,後來在工做也開始使用這種東西,雖然最後沒去那家公司,可是也是學習到了,關注開這些東西之後,也發現了一些簡化版的3W法則,最近公司也要搞Docekr,因此寫篇博客來講說爲何要學習Docker。spring
2、What Dockerdocker
什麼是Docker?Docker是一種容器化的技術,包括一個命令行程序、一個後臺守護進程以及一組遠程服務,使應用程序在不一樣的操做系統上以相同的方式運行,因此要明白什麼是Docker咱們還須要來聊聊容器的概念。數據庫
容器是爲應用程序提供隔離的運行空間,每一個容器內部都包含一個獨享的完整用戶環境空間,而且容器內的變更不會影響其餘容器的運行。這個時候咱們又會想到傳統的虛擬化技術他也是一種容器化的技術,接下來咱們拿二者作個比較。安全
對於傳統虛擬化技術(虛擬機),提供一套完整的操做系統,能夠爲每一個用戶指定CPU、內存等資源,Docker則是使用namespaces來進行空間隔離,經過文件系統的掛載點來決定容器能夠訪問哪些文件,經過cgroups來肯定每一個容器能夠利用多少資源,全部的容器共享一個操做系統內核。二者相比較起來Docker更輕量級些,相比傳統的虛擬化技術來講對系統資源運用的更加充分。服務器
總結下就是,Docker是爲應用軟件提供運行空間,以及將應用軟件直接相互隔離,來提高安全性;網絡
3、Why Docker運維
爲何須要Docker?我認爲應該3方面提及:ide
1.服務端的開發和部署學習
對於開發和運維人員來講,如今天天面對各類各樣的中間件、各類服務的部署,單純依靠之前的手動部署已經不能知足現狀,Docket能夠經過定製鏡像,來實現一次性建立或配置,能夠在任意地方正常運行,使得開發人員和運維人員解放雙手,另外Docker構建和啓動很快,能大量節約開發、測試和部署時間。服務化的今天若是沒有Docker你們可能也沒有這麼順風順水。
2.更高效的利用資源
Docker相比於傳統的虛擬化技術來講不須要運行完整的操做系統,能夠理解爲進程級的,在同等的狀況下能夠對系統資源更高效的利用;
3.易用性和擴展性
Docker使用起來很簡單,沒有想虛擬化技術那般費勁,簡單的一個命令就能運行起來服務,使得這項技術更加的流行。 Docker採用分層存儲和鏡像技術,使應用的維護和擴展變得很是簡單,另外Docker官方維護不少鏡像,讓你們下降了應用鏡像製做的成本;
4、How Docker
這篇博客先從環境搭建而後到Hello World,下一篇文章帶領你們作一個spring boot鏈接數據庫,最後補上以前說的Elasticsearch集羣搭建(包括Elasticsearch一些參數調優、監控、集羣測試),中間也會穿插一些鏡像、容器、網絡和存儲等等這些Docker中的知識,先來啓動Hello World
安裝環境實在騰訊雲上的CentOS 7的版本,經過yum命令來安裝Docker,Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。
1 #查看你當前的內核版本 2 uname -r 3 4 #安裝 Docker 5 yum -y install docker 6 7 #啓動 Docker 後臺服務 8 service docker start 9 10 #查看docker版本 11 docker -v
接下來咱們來啓動一個Hello World,這裏咱們暫時不經過Dockerfile的形式去作,經過Docker倉庫來實現將Hello World運行出來,
1.docker search hello-world 先搜索關於hello-world的鏡像
2.docker pull hello-world 拉取hello-world的鏡像到本地服務器
3.docker run hello-world 運行容器
這裏就是帶你們完成一個從倉庫拉取到本地鏡像的一個例子,相信使用過Git都比較清楚,經過上面的例子相信你們已經體驗Docker的易用性,接下來會有更詳細的使用介紹;
5、結束
歡迎你們加羣438836709!歡迎你們關注我!