Docker 在创建容器时使用文件系统的联合挂载技术来创建一个分层的文件系统,主要是为了实现容器之间的文件系统隔离和共享。
具体来说,Docker 使用了 Linux 内核的 Cgroups 和 Namespace 功能来实现容器的隔离和资源控制,其中 Namespace 功能可以实现对文件系统的隔离。在 Docker 中,每个容器都拥有自己独立的文件系统,容器内部的应用程序只能访问到其自身的文件系统,无法访问其他容器或宿主机的文件系统。
Docker 使用了文件系统的联合挂载技术来创建分层的文件系统,这样就可以在容器之间共享文件系统的某些部分,减少存储空间的占用。具体来说,Docker 会在宿主机上创建一个可读写的容器层,容器启动时再在容器层上添加一个只读的镜像层,这样就可以实现容器之间的文件系统隔离和共享。
此外,Docker 还使用了 Copy-on-Write(COW)技术,即只有在容器需要修改镜像层的文件时才会进行复制和修改,从而减少了存储空间的占用和文件系统的复制时间。
总之,Docker 使用文件系统的联合挂载技术、Namespace 功能和 COW 技术来实现容器之间的文件系统隔离和共享,从而达到隔离应用程序和共享资源的目的。