Rumah > Operasi dan penyelenggaraan > Docker > docker为什么用go语言写?

docker为什么用go语言写?

青灯夜游
Lepaskan: 2020-07-17 13:28:10
asal
5340 orang telah melayarinya

首先我们现在主流的服务都是使用Unix/Linux操作系统的,而Golang对于第三方的依赖相当的少,这点既是限制,也是优势。这样的话使用Golang开发的Docker基本能够完美的运行于大多数安装Unix/Linux操作系统的服务器上。

docker为什么用go语言写?

为什么Docker运行不需要安装Golang?

提出为什么Docker运行不需要安装Golang这个问题是因为本人是个Java后台开发,而在Ubuntu上使用的一些用Python开发的开源工具,而Java和Python的开源工具都要安装对应的运行环境:

Java起码要安装JRE,有时候为了方便也会安装JDK

Python起码需要安装Python开发环境,有时候开源工具还要安装其他Python的第三方包

以Java为例子,Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。而无论是编译器还是解释器其实都是JVM的一部分。Java的平台无关性其实是靠JVM实现的,同时Java的程序也需要运行在JVM上。

但是Golang编译生成的是一个静态可执行文件,除了glibc外没有其他外部依赖。

那么glibc到底是什么呢?

其实glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。这样也意味着docker在Unix/Linux系统上运行其实可以抛开Golang。

为什么Docker选择用Golang开发?

首先我们现在主流的服务都是使用Unix/Linux操作系统的,而就如前面所描述的那样Golang对于第三方的依赖相当的少(只依赖glibc),这点既是限制,也是优势。因为这样的话使用Golang开发的Docker基本能够完美的运行于大多数安装Unix/Linux操作系统的服务器上。

推荐教程:《docker教程》、《PHP教程

Atas ialah kandungan terperinci docker为什么用go语言写?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan