dockerfile构建镜像
在操作系统中,我们可以通过ps看到各式各样的进程,这些进程有如下特点: 1.进程可以相互看到,可以相互通信 2.他们使用同一个文件系统,可以对同一个文件做读写操作 3.这些进程使用相同的系统资源 上述这些特点会带来一些问题,具体如下: 可以相互通信,高权限进程可以攻击其他进程 使用同一个文件系统,拥有高权限的进程可以对其他进程已有的数 据进行增删改查,不同进程之间的依赖会相互冲突 使用同一个宿主机资源,会存在资源抢占问题 linux系统中通过chroot这个工具,将子目录变成根目录,达到视图级别的隔离,系统在chroot的帮助下,具有独立的文件系统 使用namespace技术实现进程在资源的视图上进行隔离 使用Cgroup来限制资源使用率 而具有这些特性的进程的集合,就可以称为容器 总的来说, 容器就是一个视图隔离,具有独立文件系统,资源可限制的进程集合。 镜像: 我们将这些容器运行时所需要的所有文件的集合称为镜像 我们一般情况下通过dockerfile来构建镜像 dockerfile特点: 一般我们通过dockerfile构建镜像,每个构建步骤都会对已有的文件系统进行操作,对文件系统内容带来变化,我们将这些变化称为 changeset changeset具有分层和复用的特点, 1.可以提高分发效率,对于大的镜像,可以将其拆分为各个小块,可以提高分发效率