--- title: "02-docker-compose" created: 2025-11-25 tags: - 项目筑基 --- # docker-docker-compose- Docker 和 Docker Compose 是两个相关但有不同功能的工具,它们都用于容器化应用程序和服务的管理。理解它们之间的区别对于有效地使用 Docker 生态系统非常重要。 ### **Docker** **基本概念**:Docker 是一个开源容器化平台,用于创建、运行和管理容器。容器是轻量级的、可移植的、自给自足的软件包,包含应用程序及其所有依赖。 **功能**:Docker 允许您将应用程序及其运行环境封装在一个容器中。这样可以确保应用程序在不同的计算环境中以相同的方式运行。 **使用场景**:适用于单个容器的管理。当您只需要运行、停止、构建或监控单个容器时,直接使用 Docker 命令行工具即可。 **命令**:Docker 提供了一系列命令来管理容器和镜像,例如 **docker run**、**docker stop**、**docker build** 等。 ### **Docker Compose** **基本概念**:Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它使用 YAML 文件来配置应用服务。 **功能**:Docker Compose 允许您通过一个单独的命令(**docker-compose up**),根据配置文件同时启动、停止和重建多个容器。这对于复杂应用程序,它们需要多个服务相互协作时尤其有用。 **使用场景**:适用于多容器应用程序。当您的应用程序由多个服务组成,例如一个网站和数据库服务器,您可以使用 Docker Compose 来定义和运行这些服务。 **配置文件**:Docker Compose 配置通常写在一个名为 **docker-compose.yml** 的文件中,其中定义了涉及的所有服务、网络和卷。 ### **区别与联系** **操作范围**:Docker 是用于单个容器的操作,而 Docker Compose 用于管理多容器应用。 **配置方法**:Docker 通常需要您通过命令行参数来配置容器。Docker Compose 则允许您在 YAML 文件中声明式地定义配置,这使得配置更加模块化和易于维护。 **便利性**:对于复杂应用,Docker Compose 可以简化部署和管理过程。您只需一个命令就可以启动或停止所有相关的服务。 **使用场景**:如果您只是简单地运行一个独立的容器,Docker 就足够了。但如果您的项目涉及多个相互依赖的服务,Docker Compose 会更加方便。 ### **总结** 简而言之,Docker 提供了容器化的基础,而 Docker Compose 是在此基础上的一个层次,它允许更高级别的应用组织和编排。在实际使用中,这两个工具经常一起使用,Docker 提供容器的基本管理,而 Docker Compose 管理复杂的多容器应用结构。 --- ⬅️ [[01-docker|docker]] 🏠 [[00-网络与项目|00-网络与项目]] ➡️ [[03-安装与核心架构|安装与核心架构]]