認識容器:docker入門篇
docker是什么?
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。(摘自百度百科)
這里我總結歸納下重點是:
打包成容器。
打包 成 容器
眾所周知,一個Java 應用 war包或者jar包 啟動成功,有能夠對外提供服務的能力(能正常訪問頁面,做操作),需要部署到一台有tomcat的linux環境中。
沒有容器技術前的上線流程通常出現這樣的或那樣的問題,比如:
1.開發環境沒錯,測試環境報錯---->排查后發現是啟動腳本里,jdk版本不對
2.測試環境沒錯,生產環境報錯 -->排查發現是tomcat版本和jdk不匹配。
然后:
開發、運維、測試同事都很頭痛,都覺得自己沒問題,
總結會的時候還要扣績效,
雖說不容易出事情,單出了事情 很影響新產品上線效率。
有個 打包 機制就不一樣了,他會很強,強到可以把我這個應用運行時(能正常對外提供服務),需要的 一切 ,包括tomcat,jdk,甚至是linux文件都 打包 到一起。
這個打出來的包叫做鏡像。 鏡像運行時叫做容器。
可以發現 鏡像可以很方便的做遷移,備份,存儲,交付。
運行鏡像,能對外提供服務能力的鏡像運行時,叫做容器。
這樣,打出來的包,優點就出來了
1.環境的強一致性。docker鏡像提供了除內核外完成的運行時環境,保證其他使用人員,能完整復現應用運行時環境。不會出現“這應用在xxx環境沒問題”這種情況。
2.遷移方便,持續交付和部署。一次打包,到處運行。
容器和虛擬機的區別
App在虛擬機中運行時,調用需要經過虛擬化軟件的處理,才能調用到真正的宿主機操作系統。
在容器中運行,直接可以使用宿主機操作系統,省事省力,可喜可賀。
那么容器技術的又有了優點:
敏捷和高性能:直接調用宿主機操作系統,不需要經過虛擬化軟件的處理。
白話總結:
docker是一種技術,能使得應用在任何環境都能用的打包技術。打包出的東西叫鏡像。鏡像運行時(有對外提供服務能力)叫容器。
docker && kubernetes 入門介紹pdf,請參看:
https://github.com/haoprogrammer/kubernetes-study/tree/master/pdf/umf
歡迎轉載,轉載請注明出處,感謝您的閱讀。