什么是Docker
编辑Docker 是一个开源项目,它使用进程隔离技术将 Linux 应用程序作为容器来运行和管理。
Docker的功能
编辑Docker 容器将一个软件包装成一个完整的文件系统,其中包含软件运行所需的所有内容。这包括代码、运行时、系统工具、系统库,以及服务器上安装的任何内容。无论环境如何,这始终是相同的它正在运行。
Docker 为 Linux 中的操作系统级虚拟化提供了额外的抽象和自动化层。Docker 使用 Linux 内核的功能,例如 cgroup 和内核命名空间,以及支持联合的文件系统的资源隔离功能,例如 OverayFS 和 aufs,以及通过允许独立的“容器”在单个 Linux 实例中运行,消除了启动和维护虚拟机的负担。
Linux 内核对命名空间的支持在很大程度上隔离了应用程序对操作环境的看法,包括进程树、网络用户 ID 和已安装的文件系统,但内核的 cgroup 限制了资源,包括 CPU、内存、块 I/O 和网络。从0.9版本开始,Docker使用libvirt、LXC(Linux容器)以及通过systemd-nspawn抽象出的虚拟化接口,以及libcontainer库作为直接使用Linux内核提供的虚拟化功能的唯一手段。
Docker概述
编辑当对 Dockerbase 映像执行操作时,会创建并记录联合文件系统层,以便每个层都完整地描述如何重新创建操作。使其轻量级,并且只需要传播层更新。
根据行业分析公司 451 Research 的说法,“Docker 是一种工具,允许您将应用程序及其依赖项放入虚拟容器中,该容器可以在任何 Linux 服务器上运行。这可以在本地、公共云、私有云、裸机等。它有助于在程序运行时应用灵活性和可移植性。
Docker 提供轻量级容器,通过实现高级 API 允许进程在不同的位置运行。
Docker 容器与虚拟机不同,不需要或包含单独的操作系统,因为它们构建在 Linux 内核提供的设施之上(主要是 cgroup 和命名空间、内存、块 I/O、网络等)和隔离命名空间来隔离应用程序对操作系统的视图,或者通过systemd-nspawn间接访问Linux内核的虚拟化功能。
由于 Docker 非常轻量,单个服务器或虚拟机可以同时运行多个容器。
您可以使用容器来隔离资源、限制服务和预留进程,从而为您提供几乎完全个性化的操作系统视图,拥有自己的进程 ID 空间、文件系统结构和网络接口。多个容器共享相同的内核,但每个容器只能使用定义数量的资源,例如 CPU、内存和 I/O。
使用 Docker 创建和管理容器,允许多个应用程序、工作任务和其他进程在单个物理机或多个虚拟机上自主运行,从而简化了高度分布式系统的创建。它允许在资源可用时或在需要时部署节点。需要更多的节点,为Apache Cassandra、MongoDB和Riak等系统提供PaaS式的部署和扩展,简化分布式系统的创建和操作。
Docker集成特性
Docker 可以集成到各种基础设施工具中,包括:Amazon Web Services、Ansible、CFEngine、Chef、Google Cloud Platform、IBM Bluemix、HPE HelionStackato、Jelastic、Jenkins、Kubernetes、Microsoft Azure、OpenStack Nova、OpenSVC、Oracle Containers Cloud服务、Puppet、Salt、Vagrant、VMwarevSphere IntegratedContainers。
Cloud Foundry Diego 项目将 Docker 集成到 Cloud Foundry PaaS 中。
Red Hat 的 OpenShift PaaS 从 v3(2015 年 6 月)开始集成了 Docker 和相关项目(Kubernetes、Geard、Project Atomic 等)。
ApprendaPaaS 将 Docker 容器与该产品的 6.0 版本集成。
Docker的历史
编辑Solomon Heikes 将 Docker 作为法国 PaaS 公司 Dot Cloud 的内部项目启动。
Docker 于 2013 年 3 月开源发布。
Docker相关工具
编辑DockerCompose
Compose 是一个定义和运行多容器 Docker 应用程序的工具,它使用 YAML 文件来配置应用程序的服务,并通过一个命令执行所有容器创建和启动过程。
DockerSwarm
DockerSwarm 提供 Docker 容器的原生集群,并将 Docker Engine 转变为虚拟 Docker Engine。
从 Docker 1.12 及更高版本开始,Swarm 模式已集成到 Docker Engine 中。
百科词条作者:小小编,如若转载,请注明出处:https://glopedia.cn/263726/