写点什么

笔记

作者:IT蜗壳-Tango
  • 2022 年 6 月 28 日
  • 本文字数:713 字

    阅读完需:约 2 分钟

在之前的笔记中我们初步了解了一下容器的技术,并在 Linux 系统中安装了当前最流行的容器 Docker。那到底什么是容器呢,我的理解是,它就像一个个杯子,每个杯子中的装满了各个口味的饮料,为了不和其他口味的饮料产生混合,这里的杯子就是容器。

如果你对 Python 比较了解,也可以把它比作成 Python 中的虚拟环境 venv。但是 Docker 要比它强大的很多,它不单单可以虚拟环境,甚至可以虚拟出一个接近完整的虚拟操作系统。我们今天也将通过一系列的实验来体验一下。


动手实验

拉取 alpine,它是一个操作系统的镜像

docker pull alpine
复制代码


如果看到类似上面的这种报错,我们可以修改一下 Docker 的镜像源

sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors":["https://tesujcui.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
复制代码


运行这个系统的 shell 命令

docker run -it alpine sh
复制代码


这里的-it 就是暂时将我们的 Ubuntu 系统和这个容器进行隔离,并进入这个容器的内部。

我们接下来用如下命令来查看一下系统信息:

cat /etc/os-release
复制代码


这里可以看出来已经不是我们的 Ubuntu 了,而是 Alpine Linux 了。

再运行 ps 看看程序所使用的环境变量

虚拟机虚拟化出来的是硬件,需要在上面再安装一个操作系统后才能够运行应用程序,而硬件虚拟化和操作系统都比较“重”,会消耗大量的 CPU、内存、硬盘等系统资源,但这些消耗其实并没有带来什么价值,属于“重复劳动”和“无用功”,不过好处就是隔离程度非常高,每个虚拟机之间可以做到完全无干扰。


更多详细的内容大家可以订阅这个专栏(http://gk.link/a/11sXQ)来一起学习,今天的内容就是这些了。

我是 Tango 一个热啊分享技术的程序猿,我们下期见。

用户头像

一个日语专业的程序猿。 2017.09.10 加入

【坐标】无锡 【软件技能】Java,C#,Python 【爱好】炉石传说 【称号】InfoQ年度人气作者,Intel OpenVINO领航者联盟成员 【B站】https://space.bilibili.com/397260706/ 【个人站】www.it-worker.club

评论

发布
暂无评论
笔记_6月月更_IT蜗壳-Tango_InfoQ写作社区