若是想要快速持續開發和部署應用,那麼對 Docker 這個詞確定不陌生,2015 年的時候我研究過一段時間,但後來因爲工做內容的變動,就沒有再關注過了。git
今年開始,項目每週都會升級上線,雖然寫了不少自動化腳本,但依然感受很麻煩,因此就想是否是能夠經過 Docker 來優化一下這個流程。github
說幹就幹,最近讀了兩本書:《Docker 技術入門與實戰》和《Docker 進階與實戰》,以及在測試環境的驗證,也算是有了點心得,因此在這裏總結一下,分享給你們。docker
後續計劃把線上環境都遷移到 Docker 上,也會邊實踐邊總結,而且記錄在這裏。微信
Docker 是一個開源項目,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘項目。它基於 Google 公司推出的 Go 語言實現。 項目後來加入了 Linux 基金會,聽從了 Apache 2.0 協議,項目代碼在 GitHub 上進行維護。測試
Docker 的口號是:優化
Build,Ship,and Run Any App,Anywhereui
所以也看得出來,使用 Docker 以後,會使開發和部署變得更加便捷。基本就是鏡像在手,到哪均可以運行,不再用擔憂環境的問題了。操作系統
Docker 涉及到的概念有這麼幾個:鏡像,容器,倉庫,容器卷,Dockerfile 等。若是以前接觸過,那對這幾個概念確定不會陌生,沒接觸過也不要緊,後續文章會一一進行介紹。cdn
下面來看看 Docker 和傳統虛擬化方式的不一樣之處:blog
可見容器是在操做系統層面上實現虛擬化,直接複用本地主機的操做系統,而傳統方式則是在硬件層面實現。
Docker 安裝也很是簡單,直接到 Docker 官網,無論是 Mac,Windows 仍是 Linux,要麼是有安裝包,要麼就是有詳細的教程,按着一步一步來就沒有問題。
其實啊,在網上看再多的博客,也包括我這篇,都不如直接看官方文檔,既實時,又權威。
這篇就到這裏吧,下篇來講說鏡像。
參考文檔:
技術博客:
同時,也歡迎關注個人微信公衆號 AlwaysBeta,更多精彩內容等你來。