Docker 簡介
轉載鏈接Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協議開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口 (類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker 的應用場景
- Web 應用的自動化打包和發佈
- 自動化測試和持續集成、發佈
- 在服務型環境中部署和調整數據庫或其他的後臺應用
- 從頭編譯或者擴展現有的 OpenShift 或 Cloud Foundry 平臺來搭建自己的 PaaS (Platform-as-a-Service) 環境
Docker 的優點
簡化程序:Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數週的 任務,在Docker容器的處理下,只需要數秒就能完成。
避免選擇恐懼症:如果你有選擇恐懼症,還是資深患者。Docker 幫你打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、後臺應用、數據庫應用、大數據應用比如 Hadoop 集羣、消息隊列等等都可以打包成一個鏡像部署。
節省開支:一方面,雲計算時代到來,使開發者不必爲了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。
Docker 引擎
Docker 引擎是一個包含以下主要組件的客戶端服務器應用程序。
- 一種服務器,它是一種稱爲守護進程並且長時間運行的程序。
- REST API用於指定程序可以用來與守護進程通信的接口,並指示它做什麼。
- 一個有命令行界面 (CLI) 工具的客戶端。