為什么Docker運行不需要安裝Golang-創(chuàng)新互聯

為什么Docker運行不需要安裝Golang?可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

創(chuàng)新互聯自2013年起,是專業(yè)互聯網技術服務公司,擁有項目成都網站制作、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元穆棱做網站,已為上家服務,為穆棱各地企業(yè)和個人服務,聯系電話:18982081108

Docker 是 PaaS 提供商 dotCloud 開源的一個基于 LXC 的高級容器引擎,源代碼托管在 Github 上, 基于go語言并遵從Apache2.0協議開源。Docker雖然是用Golang編寫的,但是卻不需要安裝Golang就可以直接運行了。

為什么Docker運行不需要安裝Golang?

提出為什么Docker運行不需要安裝Golang這個問題是因為本人是個Java后臺開發(fā),而在Ubuntu上使用的一些用Python開發(fā)的開源工具,而Java和Python的開源工具都要安裝對應的運行環(huán)境:

● Java起碼要安裝JRE,有時候為了方便也會安裝JDK

● Python起碼需要安裝Python開發(fā)環(huán)境,有時候開源工具還要安裝其他Python的第三方包

以Java為例子,Java源程序經過編譯器編譯后變成字節(jié)碼,字節(jié)碼由虛擬機解釋執(zhí)行,虛擬機將每一條要執(zhí)行的字節(jié)碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然后在特定的機器上運行。而無論是編譯器還是解釋器其實都是JVM的一部分。Java的平臺無關性其實是靠JVM實現的,同時Java的程序也需要運行在JVM上。

但是Golang編譯生成的是一個靜態(tài)可執(zhí)行文件,除了glibc外沒有其他外部依賴。

那么glibc到底是什么呢?

其實glibc是GNU發(fā)布的libc庫,即c運行庫。glibc是linux系統(tǒng)中最底層的api,幾乎其它任何運行庫都會依賴于glibc。這樣也意味著docker在Unix/Linux系統(tǒng)上運行其實可以拋開Golang。

為什么Docker選擇用Golang開發(fā)?

首先我們現在主流的服務都是使用Unix/Linux操作系統(tǒng)的,而Golang對于第三方的依賴相當的少(只依賴glibc),這點既是限制,也是優(yōu)勢。因為這樣的話使用Golang開發(fā)的Docker基本能夠完美的運行于大多數安裝Unix/Linux操作系統(tǒng)的服務器上。

總結

很多編程語言是會存在一些局限性和缺點,但是我們要根據自己的需要去選擇編程語言,有時候在特定的場景上選擇一個更加合適的編程語言或者會帶來更大的收益。這點也適用于框架的選擇上,不一定是大家所說的高大上或者流行的框架就是好的,適合于自己的業(yè)務才是最好的。

看完上述內容,你們對Docker運行不需要安裝Golang的原因有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道,感謝各位的閱讀。

標題名稱:為什么Docker運行不需要安裝Golang-創(chuàng)新互聯
標題來源:http://bm7419.com/article30/hsjpo.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站制作品牌網站制作、網站收錄網站建設、定制網站網站導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

網站優(yōu)化排名