首页 > 解决方案 > 在 docker 中创建容器时,只有分发文件系统的快照是什么意思?

问题描述

我已经读过,当您创建容器时,必须定义基本操作系统映像,并且操作系统只是某些 Linux 分发文件系统的快照,我不明白为什么我们只需要文件系统的快照,什么是它的重要性,文件系统是什么将发行版彼此分开?

我知道发行版在窗口管理器和桌面环境中有所不同,并且在除文件系统之外的大多数基本映像中都已删除,那么文件系统在所有发行版中本质上是不同的吗?

如果是这样,为什么发行版有不同的文件系统,这些文件系统之间有什么区别?

标签: linuxdockercontainerslinux-distro

解决方案


请注意,文件系统是一种存储数据的方法。我假设在您的问题中,“文件系统”是指存储数据的文件系统公开的文件系统、目录结构、文件、文件属性、文件和目录权限以及所有其他数据(修改时间、上次访问时间) 。操作系统(例如 linux 发行版)可以在不同的文件系统上运行。我在 ZFS 上运行我的 linux,我的服务器使用 ext4。

为什么我们只需要文件系统的快照

复制构成数据的所有信息。

它的重要性是什么,文件系统是将发行版彼此分开的原因吗?

好吧,我会说基本上分布主要在负责该分布的人中有所不同。Ubuntu 由 Canonical Ltd. 和 Ubuntu Foundation 所有,archlinux 由 Aaron Griffin 生产。因为不同的人管理产品,你会得到不同的产品和不同的愿景。就像汽车一样——奥迪有自己的汽车,梅赛德斯也有自己的。

发行版在窗口管理器和桌面环境方面有所不同

不,他们没有。窗口管理器和桌面环境(在大多数情况下)由管理 linux 发行版的不同且独立的人员管理。您可以为奥迪和梅赛德斯购买米其林轮胎,就像在 archlinux 和 ubuntu 上安装 xfce4 一样。

那么文件系统在所有发行版中是否有本质上的不同?

我会说我的主观观点是:Linux 发行版的“管理”,作为一个整体过程,作为一个整体社区对操作系统目标和行为的长期愿景,同时也是一个执行日常管理任务(如安装)的过程包和错误处理对我来说是发行版之间的本质区别。Archlinux 希望变得简单、简约、现代、以用户为中心。Ubuntu 希望将免费软件带给更广泛的受众并加速创新。不同的愿景导致不同的产品。法拉利想要快,奥迪想要舒适,等等。

为什么发行版有不同的文件系统

Linux 发行版没有文件系统。一个操作系统可以安装在许多文件系统上:你可以在 btrfs 上安装 ubuntu,在 ext4 上安装 ubuntu,等等。

如果文件系统是指存储在文件系统上的所有数据:由于不同的发行版在创建操作系统时会做出不同的设计选择,因此数据打包过程以及不同发行版如何分发数据之间存在许多差异。因此存储在文件系统上的结果数据不同。

这些文件系统之间有什么区别?

对用户来说最明显的区别当然是包管理器- 管理和自动安装、升级和配置操作系统上的数据的工具。IE。ubuntu 使用apt-get,archlinux 使用pacman。发行版安装过程和脚本存在差异。


推荐阅读