Docker Compose 是 Docker 官方推出的多容器应用编排工具,自 Docker Engine 20.10 起已作为内置子命令集成,取代了早期独立的 docker-compose 二进制。

组成部分

  • 项目(project):一个项目包含多个服务
  • 服务(service):一个服务当中可包括多个容器实例
  • 容器(container):具体的运行实例

常用命令

  • docker compose up <service>:创建并启动所有服务或指定的 <service>;加 -d 参数在后台运行。
  • docker compose down:停止并移除容器和网络;加 -v 同时删除卷。
  • docker compose ps <service>:列出项目中所有容器或指定 <service> 的状态。
  • docker compose logs <service>:显示指定 <service> 的日志;不指定则显示所有服务,加 -f 实时跟踪。
  • docker compose build <service>:构建指定 <service> 的镜像;不指定则构建所有需要构建的服务。
  • docker compose pull <service>:拉取指定 <service> 的镜像;不指定则拉取所有服务的镜像。
  • docker compose start <service>:启动已创建但已停止的 <service> 容器;不指定则启动所有服务。
  • docker compose stop <service>:停止正在运行的 <service> 容器;不指定则停止所有服务。
  • docker compose restart <service>:重启指定 <service> 的容器;不指定则重启所有服务。
  • docker compose create <service>:仅创建指定 <service> 的容器;不指定则创建所有服务的容器。
  • docker compose exec <service> <command>:在运行中的 <service> 容器内执行 <command>
  • docker compose config:验证并输出解析后的 Compose 配置(不接受 <service> 参数)。
  • docker compose kill <service>:强制终止指定 <service> 的容器;不指定则终止所有服务。
  • docker compose pause <service>:暂停指定 <service> 容器中的所有进程;不指定则暂停所有服务。
  • docker compose unpause <service>:恢复指定 <service> 容器的进程;不指定则恢复所有服务。
  • docker compose top <service>:显示指定 <service> 容器内的运行进程;不指定则显示所有服务。
  • docker compose images <service>:列出指定 <service> 使用的镜像及其大小;不指定则列出所有服务。
  • docker compose events <service>:实时输出指定 <service> 的容器事件流;不指定则监听整个项目。