K8S 学习笔记 -- 一起来看容器的本质
在之前的笔记中我们初步了解了一下容器的技术,并在 Linux 系统中安装了当前最流行的容器 Docker。那到底什么是容器呢,我的理解是,它就像一个个杯子,每个杯子中的装满了各个口味的饮料,为了不和其他口味的饮料产生混合,这里的杯子就是容器。
如果你对 Python 比较了解,也可以把它比作成 Python 中的虚拟环境 venv。但是 Docker 要比它强大的很多,它不单单可以虚拟环境,甚至可以虚拟出一个接近完整的虚拟操作系统。我们今天也将通过一系列的实验来体验一下。
动手实验
拉取 alpine,它是一个操作系统的镜像
![](https://static001.geekbang.org/infoq/eb/ebc1f67890446454207a94cc1802a392.png)
如果看到类似上面的这种报错,我们可以修改一下 Docker 的镜像源
![](https://static001.geekbang.org/infoq/24/24e7eb3807cea18058927c654a43d9bc.png)
运行这个系统的 shell 命令
![](https://static001.geekbang.org/infoq/8b/8b3b37e2743a4e36402411552fb15c32.png)
这里的-it 就是暂时将我们的 Ubuntu 系统和这个容器进行隔离,并进入这个容器的内部。
我们接下来用如下命令来查看一下系统信息:
![](https://static001.geekbang.org/infoq/b4/b40a3bb404f9f102b75d5a649f75221d.png)
这里可以看出来已经不是我们的 Ubuntu 了,而是 Alpine Linux 了。
再运行 ps 看看程序所使用的环境变量
![](https://static001.geekbang.org/infoq/10/1036621694833c2552c966ee1740dfd5.png)
虚拟机虚拟化出来的是硬件,需要在上面再安装一个操作系统后才能够运行应用程序,而硬件虚拟化和操作系统都比较“重”,会消耗大量的 CPU、内存、硬盘等系统资源,但这些消耗其实并没有带来什么价值,属于“重复劳动”和“无用功”,不过好处就是隔离程度非常高,每个虚拟机之间可以做到完全无干扰。
![](https://static001.geekbang.org/resource/image/26/6d/26cb446ac5ec53abde2744c431200c6d.jpg?wh=1920x869)
更多详细的内容大家可以订阅这个专栏(http://gk.link/a/11sXQ)来一起学习,今天的内容就是这些了。
我是 Tango 一个热啊分享技术的程序猿,我们下期见。
版权声明: 本文为 InfoQ 作者【IT蜗壳-Tango】的原创文章。
原文链接:【http://xie.infoq.cn/article/3844eb7767e0bfd1d169a1900】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论 (2 条评论)