Docker 容器是一种打包格式,可通过标准格式打包应用的所有代码和依赖关系,确保应用能够快速、可靠地在计算环境下运行。Docker 容器则是一种广受欢迎的轻量级、可执行的独立容器,其中包含应用运行所需的一切要素,包括库、系统工具、代码和运行时。此外,Docker 还是一个软件平台,支持开发人员快速构建、测试和部署容器化应用。
一、什么是 Docker?
Docker 容器是一种打包格式,可通过标准格式打包应用的所有代码和依赖关系,确保应用能够快速、可靠地在计算环境下运行。Docker 容器则是一种广受欢迎的轻量级、可执行的独立容器,其中包含应用运行所需的一切要素,包括库、系统工具、代码和运行时。此外,Docker 还是一个软件平台,支持开发人员快速构建、测试和部署容器化应用。
容器即服务 (CaaS) 或容器服务是一种用于管理容器生命周期的托管式云服务。它可以帮助您编排(启动、停止、扩展)容器运行时,简化、加速并实现应用开发与部署生命周期自动化。
在过去几年里,Docker 和容器服务得到了快速采用,取得了巨大的成功。如今,Docker 这一开源技术已从 2013 年的几乎无人知晓发展成了一种标准化运行时环境,已正式支持众多 Oracle 企业级产品。
Docker 术语的定义
Docker:
Dockers 是一个软件容器平台,利用容器技术,开发、交付和运行应用。Docker 有两个版本,即企业版和社区版。
容器:
与提供硬件虚拟化的 VM 不同,容器通过抽象“用户空间”来提供轻量级、操作系统级的虚拟化。容器与其他容器共享主机系统的内核。在主机操作系统上运行的容器是一个标准软件单元,可以打包代码及其所有依赖项,因此应用可以从一个环境快速、可靠地运行到另一个环境。容器是非持久化的,并且由映像运行。
Docker 引擎:
开源主机软件构建并运行容器。作为客户端/服务器应用,Docker 引擎支持各种 Windows 服务器和 Linux 操作系统上的容器,包括 Oracle Linux、CentOS、Debian、Fedora、RHEL、SUSE 和 Ubuntu。
Docker 映像:
Docker 映像集合了各种软件,可以作为容器运行,其中包含一组指令,描述如何在 Docker 平台上创建容器。映像是不可变的,如需更改则需要构建新的映像。
Docker 注册表:
Docker 注册表用于存储和下载映像。Dockers 注册表是一个无状态且可扩展的服务器端应用,用于存储和分发 Docker 映像。
二、哪些人使用 Docker?
Docker 是一个面向 DevOps 和开发人员而设计的开放应用开发框架。使用 Docker,开发人员能够以轻量级、可移植、自给自足,可在几乎所有环境下运行的容器形式,轻松构建、打包、传输和运行应用;能够对应用及其所有依赖关系打包,统一进行部署。得益于预构建、自治的应用容器,开发人员可以专注于应用代码及代码使用,而不必担心底层操作系统或部署系统。
此外,开发人员还可以充分利用数千个可在 Docker 容器中运行的开源容器应用。而对于 DevOps 团队,Docker 可提供持续集成支持和开发工具链,降低在系统架构中部署和管理应用时的约束和复杂性。最后,随着容器编排云服务的问世,如今所有开发人员都可以在自己的本地开发环境下开发容器化应用,随后将容器化应用迁移至云服务(例如托管式 Kubernetes 服务)并在基于云服务的生产环境下运行。
Docker 和开发人员
任何开发人员都可以打包容器。在软件行业,通常按照专业(如前端、后端或介于两者之间)来区分开发人员。虽然您通常会看到后端开发人员负责打包容器,但事实上,熟悉 CaaS 基本概念的任何人都可以在软件开发周期内做到这一点。