docker 是乙個基於go語言實現的開源應用容器專案,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux機器上,也可以實現虛擬化。
docker的構想是要實現對應用元件級別的「一次封裝、到處執行」,這裡的應用元件,既可以是乙個web應用、乙個編譯環境,也可以是一套資料庫平台服務,甚至是乙個作業系統或集群。
docker是目前最流行的容器化技術之一,docker的誕生在linxu容器(lxc)之上的。
在lxc的基礎上,docker進一步優化了容器的使用體驗。首先,docker提供了各種容器管理工具,讓使用者無需關注底層的操作,更加簡明地管理和使用容器;其次,docker引入了分層檔案系統構建和高效的映象機制,降低了遷移難度,極大地改善了使用者體驗。
1、更高效地利用系統資源
docker容器不需要進行硬體虛擬化,沒有虛擬機器管理應用和虛擬機器作業系統的開銷,而是直接復用本機的作業系統,對系統資源的利用更高效。無論是應用執行速度、記憶體損耗或者檔案儲存速度,都要比傳統虛擬機器技術更高 效。
2、輕鬆地應用遷移
在雲時代,開發者建立的應用必須要能夠很方便地在網路上傳播,也就是必須脫離底層物理硬體的限制。
舉個簡單的例子,以傳統方式進行應用遷移時,必須保證新宿主機與原來的機器環境一致,就需要搭建環境、部署專案、除錯等一系列操作,費時費力。而docker通過容器來打包應用、使應用和機器環境解耦,遷移的時候只需要在新的伺服器上啟動容器即可。
3、更快的啟動時間
傳統的虛擬機器技術啟動應用服務往往需要數分鐘,而 docker 容器應用,由於直接執行於宿主 核心,無需啟動完整的作業系統,因此可以做到秒級、甚至毫秒級的啟動時間。大大的節約 了開發、測試、部署的時間。
4、一致的執行環境
使用docker,開發人員可以使用映象來快速構建一套標準的開發環境;而測試、生產環境完全可以復用開發環境,達到一致的執行環境,減少因環境不一致產生的bug因素。docker可以快速建立、刪除容器,實現快速迭代,節約開發、測試、部署的的大量時間。
5、更輕鬆地維護和擴充套件
使用dockerfile,只需要小小的配置修改,就可以替代大量的更新操作。而且使用dockerfile使映象構建透明化,不僅僅開發團隊可以理解應用執行環境,也方便運維團隊理解應用執行所需條件,幫助更好的生產環境中部署該映象。
docker學習之一 什麼是docker
一開始看了許多文章,但是總覺得還是沒有完全理解什麼是docker。建議先動手操作實踐,之後回頭再來看看什麼是docker。docker可以輕鬆方便自由的搭建和部署各種應用 包含執行環境 的乙個軟體,它可以執行在linux windows 和 macos系統上。簡單得來說,docker是乙個由go語言...
docker 一 什麼是docker
docker 是乙個開源專案,誕生於 2013 年初,初是 dotcloud 公司內部的乙個業餘專案。它基於 google 公司推 出的 go 語言實現。專案後來加入了 linux 會,遵從了 apache 2.0 協議,專案 在 github 上進行維護。docker 自開源後受到廣泛的關注和討論...
Docker筆記(一) 什麼是Docker
接觸docker也有兩年多了,斷斷續續玩過一些應用場景,如安裝一些常用工具服務,部署業務專案,基於gitlab jenkins pipeline docker的ci cd實現等。了解其基本知識與操作,但不能說深度掌握,故藉此系列進行梳理與學習,也希望對有意學習docker的人提供參考。docker最...