Skip to content

Docker - 概览

Docker 是一个开放平台,用于开发、交付和运行应用程序。它使你能够将应用程序与基础设施分离,从而可以快速交付软件。借助 Docker,你可以像管理应用程序一样管理你的基础设施。

其核心概念围绕着 容器(containers)。可以将容器视为轻量级、独立、可执行的软件包,其中包含运行应用程序所需的一切:代码、运行时(runtime)、系统工具、系统库和设置。它们允许开发者将应用程序与所有依赖项打包在一起,并作为一个独立单元进行部署。

自 2013 年首次发布以来,Docker 彻底改变了软件开发和部署方式,成为现代 DevOps 实践、微服务(microservices)架构和云原生(cloud-native)开发中的关键技术。

  • 环境一致性: Docker 容器无论部署在哪里(开发者笔记本、测试服务器、生产云)都运行方式相同。这消除了“在我机器上可以运行”的问题。
  • 效率和速度: 与 虚拟机(virtual machines) 相比,容器几乎可以即时启动,因为它们共享 宿主机 OS 内核。它们也需要更少的资源(CPU、内存、磁盘空间)。
  • 隔离性: 容器将应用程序彼此隔离,并与底层的宿主系统隔离,从而提高了安全性并防止了依赖冲突。
  • 可移植性: Docker 容器可以在任何安装了 Docker 的机器上运行——物理服务器、虚拟机、公共云(AWS、Azure、GCP)或私有数据中心。
  • 可伸缩性: 轻量级容器易于扩展。你可以快速启动或停止应用程序容器的多个实例来处理不同的负载。
  • 开发者效率: 简化了构建、测试和部署工作流程。开发者可以专注于代码,而无需担心环境设置。
  • 微服务: Docker 是构建和部署基于 微服务 的应用程序的理想平台,其中每个服务都在自己的容器中运行。
  • Docker Engine: 底层的客户端-服务器应用程序。它包括 Docker daemon(一个管理容器的长时间运行的后台进程)、一个 REST API 和一个 命令行界面(CLI) 客户端。
  • Docker Desktop: 一个易于安装的应用程序,适用于 Mac 和 Windows 环境,包含 Docker Engine、CLI、Docker Compose、Kubernetes 集成和一个图形用户界面。
  • Docker Images(Docker 镜像): 用于创建容器的只读模板。
  • Docker Containers(Docker 容器): 镜像的可运行实例。
  • Docker Hub: Docker 官方基于云的 镜像仓库(registry),用于存储和共享 Docker 镜像(包括公共和私有)。
  • Docker Compose: 一个使用简单的 YAML 文件 定义和运行 多容器 Docker 应用程序的工具。
  • Dockerfile: 一个文本文件,包含自动构建 Docker 镜像的指令。

我们将在本教程中详细探讨这些组件和概念。

Docker 官方网站包含详细的文档、资源和下载链接:https://www.docker.com/