【回首往事、寫給曾經的本身】docker
docker是一個好東西、可是官方文檔的組織方式不太合理,它在介紹完成docker的基本概念以後,直接就操了一段dockerfile。在我當時還windows
是一個初學者的時候,dockerfile成爲了學習路上最大的障礙。學習
現想回想起來一個主要的問題是,dockerfile太忽然了! 沒有「起承轉合」上來就直接「剛」。好在我比較的「堅韌不拔,不拋棄不放棄」最終測試
仍是get到了dockerfile的哲學.net
【從虛擬機到docker】server
在實現的軟件開發上線過程當中,經常會遇到這樣的事,測試同窗在開發環境上測試的的時候,軟件的功能是正常的;可是它在測試環境上對軟件開發
的功能進行測試的時候發現軟件直接報錯了,或是功能不對,最後以整個公司之力去排查問題,結果發現只是用了一個比較老的jar包;兩樣的問題文檔
可能在生產環境上還要再發生一次。次數多了以後開發同窗開始變得不自信了,你問他這個版本的程序在客戶的主機上能正常運行嗎?他會說不太windows-server
肯定,這個要看狀況 。get
我見過的比較大膽的作法,軟件公司把本身的軟件安裝在虛擬機上,在測試經過後,他們發佈的不是軟件,而是是整個虛擬機。VMware真是的愛死
他們了。用戶那裏只要安裝有對應版本的VMware就好了,他們經過發佈VMware鏡像的方式發行本身的軟件,雖然看上去有點豆,
不能否認是解決了他們的問題。
上面的作法太笨重了,每次發佈一個windows-server-2008 + .net framework + 軟件 好幾十個G呀!然而這幾十個G中大多數的內容對於目標
軟件來講是無用的
docker 作了什麼呢?事實上docker的作法和上面的發佈vmware的鏡像的作法差很少,只不過docker的作法減小了大量的無用內容的發佈,這
這docker發佈的鏡像在體積上就要小上很多。
docker一直在強調它能作到「開發環境」與「生產環境」的徹底一致,
---