这片文章的起因是源于一个 YouTube 上的视频 Golang UK Conf. 2016 - Liz Rice - What is a container, really? Let’s write one in Go from scratch,看了之后觉得很不错,一个主题可以贯穿起来很多 Linux 的知识,也对容器、Docker 技术的原理做了次实践,对理解容器的特点和局限性很有帮助,这里我做了些修改和扩展然后再分享给大家。
大约 16 分钟
这片文章的起因是源于一个 YouTube 上的视频 Golang UK Conf. 2016 - Liz Rice - What is a container, really? Let’s write one in Go from scratch,看了之后觉得很不错,一个主题可以贯穿起来很多 Linux 的知识,也对容器、Docker 技术的原理做了次实践,对理解容器的特点和局限性很有帮助,这里我做了些修改和扩展然后再分享给大家。
作为一个程序员,如果你想安装一个 vim
编辑下文本,在不同环境里你得执行不同的命令。 在 ubuntu,你需要执行 apt-get install vim
,在 centos 里,你需要执行 yum install vim
.
装个小软件尚且如此,要是你想将自己写的代码部署到各个不同操作系统的服务器上,那依赖的软件和配置就更多了,需要针对每个环境单独写一套部署脚本。 难受,太难受了。
那么问题就来了,有没有更好的解决方案? 当然有,没有什么是加一层中间层不能解决的,如果有,那就再加一层,这次我们要加的中间层是 Docker。
我有一个程序员朋友,他每年情人节都要送女朋友一台服务器。
他说:“谁不想在过节当天收到一台 4 核 8g 的服务器呢?”
“万一对方不要,我还能留着自己用。” 给他一次过节的机会,他能把浪漫玩的明明白白。 所以今年情人节,他自己一个人过。 太痛了,是那种布洛芬都不知道他哪里痛的痛。
虽然人跑了,但起码还有服务器陪着他,但屏幕前依然单身的你呢? 你连服务器都没有。 那么问题就来了,你买过服务器吗?看着云厂商各种产品是不是有点懵。 你知道 ecs,vps,docker 容器 是什么吗?它们有啥区别呢?