通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

什么是 Docker

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 基本概念的任何人都可以在软件开发周期内做到这一点。

相关文章