今天想要來和大家介紹一隻藍色鯨魚,他叫docker。如下圖,相信應該很多人都有看過這張照片吧~這隻鯨魚非常地不簡單啊,到底有多部簡單就讓我們繼續看下去。
談到Docker,就一定要先有容器化的概念。容器化又是什麼?容器化主要是以應用程式為中心,最大目標是為了改善虛擬機器因為需要裝 Guest OS 導致啟動慢、佔較大記憶體的問題。
相信應該很多人有碰過在自己的電腦上開發、測試程式都可以跑得好好的阿,阿為什麼在別人的電腦上跑都有問題?(謎之音:一定是別人的電腦有問題!)
會有這樣的問題是因為每台電腦的作業系統和硬體配置有差異,而自己開發出來的程式可以跑可能只是因為你的程式和你的電腦環境可以相容,所以可以正常運作。而虛擬化就是要模擬出一個環境,讓程式在不同的環境下都可以正常運作。虛擬化技術有兩種,一種是在系統上做虛擬化,最常見的就是虛擬機器(Virtual Machine),另外一種則針對作業系統做虛擬化是今天要介紹的Docker。
Docker在作業系統層上虛擬化,透過 Container Manager 直接將一個應用程式所需的程式碼、函式庫打包,建立資源控管機制隔離各個容器,並分配 Host OS 上的系統資源。透過容器,應用程式不需要再另外安裝作業系統(Guest OS)也可以執行。因為不需要另外安裝作業系統,建立容器所需要的硬碟容量可以大幅降低,且啟動速度可以更快,不需要等待 Guest OS 的開機時間。上面講了這麼多一定有看沒懂,整體概念可用下面的圖片來解釋
講到Docker一定會聽到Docker file這個詞吧。Docker file是用來透過下指令告訴Docker如何打包程式碼。但因為我自己還沒有親自寫過Docker file,所以這裡就不多提及了。有興趣可以看參考附的連結有簡單介紹。
之前老師上課有提過Docker,但我沒仔細聽(被揍,開始工作也有使用到,所以有簡單研究一下但對於Docker的瞭解還只是很皮毛QQ要繼續找時間好好研究這隻鯨魚啦~
文章同步發布於:聽說有隻鯨魚叫Docker?