Docker 交互式教程:从基础到实践
1. 容器与 Docker 基础
1.1 容器文件系统层布局
容器的文件系统层布局是其高效利用资源的关键。只读部分的文件系统可以共享,因为它们不可修改。操作系统文件在不同容器间通常不变,只需存在一份,被放入共享的只读文件系统,作为每个容器的基础层。每个容器在基础层之上有一个读写层,让每个容器感觉能完全控制其文件系统,但实际上大量共享部分不会被修改,从而节省了大量磁盘空间,能以极低的开销运行数百个操作系统副本。
1.2 Docker 的崛起
容器和联合文件系统成为 Docker 的核心,Docker 几乎成了容器的代名词。容器格式和功能的标准大多源自 Docker。它不仅提供基本的容器技术,还提供了完善的用户界面用于容器管理。
Docker 容器格式的关键在于容器镜像的定义。镜像是容器的起点,类似于可无限复制的“冻结硬盘”,用于每次新系统启动。Docker 镜像包含一系列打包在一起的文件系统层,每层是基于前一层的一组更改。容器是镜像(及其所有层)与顶层读写文件系统的组合,顶层文件系统可记录任何文件的更改,但底层文件系统本身不会改变。
此外,Docker 提供了用于存储镜像的注册表和检索镜像的标准协议,注册表内的每层由唯一哈希码定义,使镜像间可共享层以节省更多空间。
例如,假设有三个应用程序,两个在 Ruby 环境中运行,一个在 Python 环境中运行。使用虚拟机时,每个虚拟机都需要完整的操作系统、环境和应用程序副本。而使用容器,所有镜像可共享基础操作系统层,操作系统只需存储一次,环境可存储在另一层,包含 Ruby 环境的层可在两个应用程序间共享,应用程序
超级会员免费看
订阅专栏 解锁全文
2879

被折叠的 条评论
为什么被折叠?



