您好,登錄后才能下訂單哦!
小編給大家分享一下為什么使用docker,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
##操作docker docker可以簡單的看做一個虛擬機鏡像的git,常用的命令大概有這么幾個:
載入一個鏡像
docker pull user/image:tag
顯示本地的鏡像
docker images
用鏡像開啟一個容器,并交互的方式運行命令行
docker run -it imageId /bin/bash
結束container按Ctrl+D,退出container按Ctrl+Q+P;
列舉所有狀態的容器
docker ps -la
以交互模式啟動一個容器
docker start -i containerId
##AWS ECS AWS把Elastic Beantalks也看做容器服務,現在也支持載入docker鏡像。當用戶只想拿著鏡像就開跑的話,AWS建議使用Elastic Beantalks。
AWS ECS則提供了更為復雜的環境:可以創建多個instance的cluster,每個cluster上可以創建多個task,可以靈活使用ELB,可以做source/container文件系統映射。
要注意每一個task應該是一個完整的體系,比如說一整個LAMP。
##Why docker? docker的最大優勢在于快速、低成本的虛擬化,可以做到一個宿主機上部署幾十甚至上百個幾乎一模一樣的環境。而大數據領域更多的是多個instance聯合起來成為大的集群以獲取更強大的能力 - hadoop集群、spark集群、akka集群都是這樣。我的思考是這兩者是利用硬件資源的兩個相反的方向:一個聚小成多,一個切大成小。
那到底什么時候我們應該考慮使用docker?(除了裝軟件真的裝不上這種苦逼事以外)
多租戶環境/PAAS,這是最好理解的應用場景,如Leancloud這樣的數據庫平臺;
開發、測試、部署環境,這比較好理解,但是放在大數據領域卻難以實現,因為一個docker無法放下整個環境;
多版本維護、升級部署、代碼回滾,
數據處理組件的部署,尤其是scalable的worker,如ETL。說起來以前我們Rails下的crawler確實可以包裝成docker。worker的部署再怎樣也是自動化的,于是感覺唯一會帶來的好處可能是dockfile會比ansible playbook稍微好寫一點(待定)。
那docker在大數據領域到底有沒有用,比如說能不能和hadoop配合?當然有,除了這種高端技術以外,至少我們可以在一臺本機上部署一個多節點hadoop集群了不是?
以上是“為什么使用docker”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。