最近因工作需要,接觸了docker,發(fā)現(xiàn)這個東西真的非常適合開發(fā)人員,值得玩一玩。
我們知道,做嵌入式軟件的,經(jīng)常需要使用交叉編譯環(huán)境編譯單片機或者linux程序,在window時,我們可能只要安裝一個IDE就夠了,但linux環(huán)境不同,需要安裝各種軟件,有的時候可能還需要自己編譯交叉工具鏈,非常不方便。
安裝軟件的時候,可能對操作系統(tǒng)的版本也有要求,比如某個軟件在18.04可以輕松安裝,到了20.04你可能死活安裝不了,即使安裝了這一個,可能還會有其他軟件需要同步安裝,一堆坑等著你踩,比如gcc版本的坑,Python版本的坑。
但是用了docker就不一樣了,只要有一個dockerfile文件(可能需要其它資源依賴),隨時隨地可以生成當時需要的開發(fā)環(huán)境,極大的節(jié)省了開發(fā)環(huán)境搭建的時間。如果別人已經(jīng)生成了鏡像,那更好,只要導入了docker鏡像就能用,方便的很。
領導再也不擔心我搭不好開發(fā)環(huán)境了。
來源于網(wǎng)圖
而使用docker的時間成本也比較低,只要在當前的虛擬機(不管你的虛擬機是哪個版本)中安裝好docker就行了(最糟糕的情況也不過可能需要自己編譯),常用的命令也就那么幾條,配合 vscode使用非常絲滑。
而docker的工作原理是利用了宿主機的資源,而不是全部模擬,docker里面的進程也是以虛擬機里面的進程形式運行的,因此效率更高。
其它資源占用也和宿主機類似,比如cpu、ram等,不像虛擬機需要占用非常多資源。
一個虛擬機里面可以運行非常多的docker容器,比如Ubuntu16.04,Ubuntu18.04,Ubuntu20.04都可以,互不影響,資源消耗卻少的可憐。
而docker倉庫也有大量別人上傳好的鏡像可以直接用,比如nginx、eclipse、go、甚至還有win10鏡像,并且這些鏡像的功能還可以組合使用,相當方便。
還等什么?趕緊上!