docker為什麼會出現
痛點
環境不同所引發的問題
一款產品從開發到上線,一般都會有開發環境,測試環境,運行環境。
如果有一個環境中某個軟體或者依賴版本不同了,可能產品就會出現一些錯誤,甚至無法運行。比如開發人員在windows系統,但是最終要把項目部署到linux。如果存在不支援跨平台的軟體,那項目肯定也無法部署成功。
這就產生了開發和運維人員之間的矛盾。開發人員在開發環境將程式碼跑通,但是到了上線的時候就崩了。還要重新檢查作業系統,軟體,依賴等版本,這大大降低了效率。造成了搭環境一兩天,部署項目兩分鐘的事件。
配置的繁瑣
如果一個產品需要使用mysql集群,redis集群,Haddop集群,或者elasticsearch集群等等,不同的人都要用到這些,那每一個人都要對集群進行配置,如果有一個位置不同就有可能產生重大問題。況且配環境是一個極其繁瑣,很需要耐心和細心的。回想一下自己剛學編程的時候,配置環境變數是不是都有可能耗費很長時間,這些集群就更不用說了。
docker的出現
那能不能把環境也拷貝過來呢?docker給了我們答案。
開發人員把環境配置好,將需要運行的程式包運行成功,然後把程式包和環境一起打包給運維人員,讓運維人員部署就可以了。這大大提高了項目上線的效率。
如果需要配置集群,只需要一人配置好,然後打包發給大家就可以了。