Docker 是一种工具,旨在使使用容器更轻松地创建,部署和运行应用程序。容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不管该机器可能具有的用于与编写和测试代码的机器不同的任何自定义设置。




docker zookeeper 虚拟机 docker 当虚拟机用_应用程序


  • 什么是容器?
  • 集装箱备忘单
  • 容器中应避免的10件事
  • 红帽容器开发套件

在某种程度上,Docker有点像虚拟机。但是,与虚拟机不同,Docker无需创建整个虚拟操作系统,而是允许应用程序使用与其所运行的系统相同的Linux内核,并且仅要求应用程序随附主机上尚未运行的组件。这样可以显着提高性能,并减小应用程序的大小。

重要的是,Docker是开源的。这意味着任何人都可以为Docker做出贡献,并扩展Docker以满足他们自己的需求,如果他们需要开箱即用的其他功能。

Docker适用于谁?

Docker是一种旨在使开发人员和系统管理员受益的工具,使其成为许多DevOps(开发人员和运营)工具链的一部分。对于开发人员来说,这意味着他们可以专注于编写代码,而不必担心最终将在其上运行的系统。它还允许他们使用已经设计为在Docker容器中运行的数千个程序之一作为其应用程序的一部分,从而抢先一步。对于运维人员来说,Docker占用空间小且开销较低,因此具有灵活性,并可能减少所需的系统数量。

入门

以下是一些资源,可帮助您开始在工作流程中使用Docker。Docker通过命令行模拟器提供了基于Web的教程,您可以尝试使用基本的Docker命令并开始了解它的工作原理。Docker还有一个初学者指南,向您介绍了一些基本命令和容器术语。或观看下面的视频以更深入地了解:

Docker和安全性

Docker为在共享环境中运行的应用程序带来了安全性,但是容器本身并不是采取适当安全措施的替代选择。

以在SELinux上的工作而闻名的计算机安全领导者Dan Walsh提出了确保Docker容器安全的重要性的观点。他还详细介绍了Docker当前的安全功能及其功能。

了解容器

可以将容器视为需要三类软件:

  • 生成器:用于构建容器的技术。
  • 引擎:用于运行容器的技术。
  • 编排:用于管理许多容器的技术。

使用容器的吸引力之一是它们能够优雅地死掉并根据需要重新生成的能力。无论是容器崩溃是由崩溃引起的,还是因为在服务器流量较低时不再需要容器消亡,容器的 启动成本都很低,并且容器 可以无缝出现和消失。因为容器是临时性的,可以根据需要频繁产生新实例,所以可以预期,监视和管理容器不是由人实时进行的,而是自动化的。

Linux容器促进了高可用性计算的巨大转变,并且有许多工具集可以帮助您在容器中运行服务(甚至整个 操作系统)。Docker是开放容器倡议(OCI)定义的众多选择之一 ,该组织是一个行业标准组织,旨在鼓励创新同时避免供应商锁定的危险。感谢OCI,您可以在选择容器工具链时选择,包括Docker, OKD, Podman, rkt, Open Shift等。