圖表君聊Docker-開篇

圖表君聊Docker-開篇

今天是圖表君聊Docker的第一篇,爲何會有這個系列呢?容器技術Docker出現已經有一段時間了,以前零零星星的也看過一些文章,圖表君的項目上也在使用Docker。但對於Docker技術的理解僅僅皮毛而已,工做上用到也只是寫寫DockerFile,遇到問題的時候Google一下。最近恰好參加了Docker培訓,正好趁着這個機會,深刻學習一下。一句話總結Docker,這貨真是個改變世界的技術。程序員

Docker的由來

Docker原來只是dotCloud公司的內部業餘項目,基於Go語言實現,後來開源並加入了Linux基金會,自開源後收到了普遍的關注和討論,後來dotCloud將公司都更名爲Docker Inc. dotCloud公司本來的產品發展的並不如意,可是憑藉Docker作的風生水起了,真是柳暗花明又一村。因此呀,不少朋友們都有本身的side Project,只要你們以爲本身的想法是有趣,有用的。堅持作下去,誰也不知道會不會是下個Docker。docker

Docker的技術特色

Docker的技術特色,相信你們都比較的瞭解了。相比較於傳統的虛擬化技術,Virtual Machine包含了一套完整的OS,每一個VM上都有本身的GUEST OS。而一個Docker Container並不包含一個OS,只包含這個App和其依賴,因此Docker Container更加的輕量快速。下邊這張圖你們一看就明白了。windows

圖片描述
圖片描述

Docker怎麼安裝呢

Docker是基於Linux的容器技術,因此天生在Linux上安裝十分的簡單。服務器

curl -sSL https://get.docker.com/ | sh微信

對於Mac,喜大普奔的是Docker如今原生的支持Mac了。到Docker官網上,下載Docker的安裝包,簡單的幾步next,Docker就安裝好了。Docker for Mac架構

至於Windows,圖表君沒試過,官網有windows的教程,你們能夠參考。curl

Docker到底解決了什麼問題

一個新技術的出現,備受追捧,一定是解決了一些不少的問題。Docker這麼紅火究竟是解決了什麼問題呢?最直觀的是,Docker讓開發,測試,生產環境,完全的統一了,統一了,統一了。ide

有沒有小夥伴有這樣的經歷,線上出了一個問題,咱們查了半天。what the fuck!我本地沒問題啊,因而乎上測試環境,生產環境,吭哧吭哧查半天,當你開始懷疑人生的時候,而後發現是環境配置問題。心裏一萬個草泥馬飛過。如今好了程序寫好,作成鏡像。想在那裏部署運行都行。微服務

另外目前什麼樣的軟件架構最火,固然是微服務了啊。圖表君的項目上都是採用微服務的構建,一個Project,7到8個Repo是很常見的。爲了咱們搭建開發環境,這些services都得啓動起來。因而乎一個個的啓動。太麻煩了。想當初圖表君爲了看一個CSS的修改效果,不得不啓動3個service,我心裏是奔潰的。(雖然是僅僅多run了幾條命令而已,然而程序員都很懶的)如今好了一個docker compose up。全部的service都起好了,太方便了,太方便了。學習

目前,docker還大多運用在開發和測試環境上,可是Docker運用在生產環境上,只是時間的問題了。原來在爲了run一個簡單的job,我要啓動一個instance,來處理出來。如今我只要簡單的run一個docker container就OK了。節省了多少資源成本和時間。特別是對於圖表君這種僅僅只有一臺阿里雲服務器來講,能夠作更多的事情了。特別利用DaoCloud這樣的雲服務,代碼的提交,測試,發佈,部署,一下全搞定。生活簡直太美好了。

好了,開篇就寫這個多了。下篇文章開始進入正題。若是你還不知道什麼是docker,應該更新下知識庫了。上docker的官網,安裝docker,而後跟着圖表君一塊兒學習吧。

原創文章,歡迎轉發,但請標明出處。歡迎關注圖表君的公衆號,一塊兒成長。在微信中搜索 「多彩數據」 或者 「Data_Visualization」

相關文章
相關標籤/搜索