Docker容器的工作原理以及安装使用
1.Docker容器的工作原理
1.1docker是什么
docker使用Google推出的Go语言开发,基于linux的cgroup(cgroup将应用程序限制为特定的资源集,允许Docker Engine将可用的硬件资源共享给容器,并可选择强制执行限制和约束),namespace(运行容器时,Docker会为该容器创建一组 名称空间。这些命名空间提供了一层隔离,容器的每个方面都在一个单独的命名空间中运行,其访问权限仅限于该命名空间),联合文件系统UnionFS以及变体AUFS等技术。对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称之为容器。
1.2docker的概念理解
Docker镜像是一个特殊的文件系统,提供容器运行时所需的程序、库、资源、配置等文件外,还包含为运行时准备的一些配置参数(如匿名卷、环境变量、用户等),Docker镜像不包含任何动态数据,其内容在构建后不会被改变,它是创建容器的模板。由于镜像包含操作系统完整的root文件系统,其体积一般很庞大,因此Docker设计时设计为分层存储的架构。镜像只是一个虚拟概念,其实际体现并非由一个文件组成,而是由多层文件系统联合组成。
Docker容器是镜像的运行时实例,适用于基于Linux和Windows的应用程序,无论基础架构如何,容器化软件都将始终运行相同。容器将软件与其环境隔离开来&#