PHP直播班直减600元+赠送VIP三个月(限前30名)
作者信息

青灯夜游

今天学习一小步,明天提升一大步

最近文章
mysql中事务和存储过程是什么543
mysql索引的查询语句是什么123
mysql substring()函数怎么用1154
视频教程分类
推荐视频教程
  • php程序员小白到大牛三个月集训php程序员小白到大牛三个月集训
  • Laravel 9 学习正当时—保姆级教程,想学不会都难!Laravel 9 学习正当时—保姆级教程,想学不会都难!
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战(模块化)Laravel基础与实战(模块化)
  • UNI-APP开发(仿饿了么)UNI-APP开发(仿饿了么)
  • 首页 >后端开发 >Golang > 正文

    docker为何选择golang开发?

    原创2019-12-23 13:58:202429 关注公众号:每天精选资源文章推送
    Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。

    Docker虽然是用Golang编写的,但是却不需要安装Golang就可以直接运行了。于是便有这个疑问:为什么Docker运行不需要安装Golang?

    为什么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操作系统的服务器上。

    总结

    很多编程语言是会存在一些局限性和缺点,但是我们要根据自己的需要去选择编程语言,有时候在特定的场景上选择一个更加合适的编程语言或者会带来更大的收益。这点也适用于框架的选择上,不一定是大家所说的高大上或者流行的框架就是好的,适合于自己的业务才是最好的。

    推荐学习:go视频教程

    以上就是docker为何选择golang开发?的详细内容,更多请关注php中文网其它相关文章!

    PHP小白到大牛线上直播班第二十期

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:golang
  • 相关文章

    相关视频


    专题推荐