两个互补但定位不同的工具,主要区别如下:
Docker
是容器化的基础引擎,专注于单容器的创建、运行和管理。它通过 Dockerfile 定义容器镜像,使用 docker run 等命令操作容器,适合独立应用的打包和部署
Docker Compose
是 Docker 的扩展工具,用于多容器应用的编排。通过 docker-compose.yml 文件定义服务、网络、卷等,支持一键启动整个应用,适合微服务、前后端分离等复杂场景。
示例:定义 Web + MySQL + Redis 的 YAML 配置
1
2
3
4
services:
web: image: nginx
db: image: mysql
cache: image: redis
启动命令 :docker compose up(一键启动所有服务)
适合:多服务协作的复杂应用(如 Web + 数据库 + 缓存),自动创建服务间专用网络,本质是对 Docker 命令的封装
Docker 解决“如何运行一个容器”,Compose 解决“如何协同多个容器”