概述

Docker 是一个用于开发、发布和运行应用程序的开放平台。 Docker 使您能够将应用程序与基础设施分离,以便您可以快速交付软件。借助 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的方法来传送、测试和部署代码,您可以显着减少编写代码和在生产中运行代码之间的延迟。

Docker的应用场景

  • 微服务架构: 每个服务独立容器化,便于管理和扩展。

  • CI/CD流水线: 与 Jenkins/GitLab CI 集成,实现自动化构建和测试。

  • 开发环境标准化: 新成员一键启动全套依赖服务(如数据库、消息队列)。

  • 云原生基础: Kubernetes 等编排工具基于 Docker 管理容器集群。

核心优势

  • 跨平台一致性: 解决"在我机器上能跑"的问题,确保开发、测试、生产环境一致。
  • 资源高效: 容器直接共享主机内核,无需虚拟化整个操作系统,节省内存和 CPU。
  • 快速部署: 秒级启动容器,支持自动化扩缩容。
  • 隔离性: 每个容器拥有独立的文件系统、网络和进程空间。

核心概念

  • 容器(Container): 轻量化的运行实例,包含应用代码、运行时环境和依赖库。基于镜像创建,与其他容器隔离,共享主机操作系统内核(比虚拟机更高效)。
  • 镜像(Image): 只读模板,定义了容器的运行环境(如操作系统、软件配置等)。通过分层存储(Layer)优化空间和构建速度。
  • Dockerfile: 文本文件,描述如何自动构建镜像(例如指定基础镜像、安装软件、复制文件等)。
  • 仓库(Registry): 存储和分发镜像的平台,如 Docker Hub(官方公共仓库)或私有仓库(如 Harbor)。

参考文章

Docker 教程 | 菜鸟教程

Docker 概述_Docker中文网