> 其他外部软件包 > docker compose

Docker Compose 命令指南

Docker Compose 是一种用于定义和运行多容器 Docker 应用程序的工具。您可以使用 YAML 文件配置应用程序的服务,并通过单个命令启动所有服务。这使得管理复杂的应用程序环境变得容易。

安装 Docker Compose

Docker Compose 通常包含在 Docker Desktop 中,或者可以单独安装。下面介绍如何在 Linux 环境中安装 Docker Compose CLI 插件。

在 Linux 上安装 Docker Compose CLI 插件

下载并授予执行权限以安装最新的 Docker Compose CLI 插件。如果您不使用 Docker Desktop,请使用此方法安装 Docker Compose。

下载并安装 Docker Compose 插件

sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

下载最新版本的 Docker Compose CLI 插件,授予执行权限,并将其放在适当的路径中。

检查 Docker Compose 版本

docker compose version

验证 Docker Compose 版本以确认安装完成。

主要的 Docker Compose 命令

Docker Compose 用于管理 `docker-compose.yml` 文件中定义的服务。使用以下选项可以轻松控制多容器应用程序。

1. 构建和运行应用程序

2. 停止和删除应用程序

3. 管理服务

生成的命令:

请尝试组合命令。

描述:

`docker compose` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

`docker-compose.yml` 文件结构

Docker Compose 使用 `docker-compose.yml` 文件来定义服务、网络、卷等。此文件以 YAML 格式编写,清晰地表示应用程序的组件及其关系。

基本结构

`docker-compose.yml` 文件具有顶级键,如 `version`(版本)、`services`(服务定义)、`networks`(网络定义)和 `volumes`(卷定义)。最重要的部分是 `services` 部分,它定义了构成应用程序的每个容器。

简单的 Web 应用程序示例

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - '80:80'
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - api
  api:
    build: .
    ports:
      - '3000:3000'
    environment:
      NODE_ENV: production
volumes:
  data_volume:

一个简单的 `docker-compose.yml` 示例,由 Nginx Web 服务器和 Node.js 后端服务组成。

键说明

对 `docker-compose.yml` 文件中常用的关键设置的说明。

  • version: 指定 Compose 文件格式版本。建议使用最新版本(例如,'3.8')。
  • services: 此部分定义构成应用程序的每个容器服务。
  • image: 指定用于服务的 Docker 镜像名称。(例如,`nginx:latest`)
  • build: 指定用于构建镜像的 Dockerfile 的路径。(例如,`.`)
  • ports: 定义主机和容器之间的端口映射。(例如,`- '80:80'`)
  • volumes: 定义用于数据持久化的卷挂载。(例如,`- ./data:/app/data`)
  • environment: 定义要在容器内部设置的环境变量。
  • depends_on: 定义服务之间的依赖关系。(例如,当 `db` 服务必须在 `web` 服务之前启动时)
  • networks: 定义服务将连接到的网络。

使用示例

通过 Docker Compose 命令的实际使用示例,了解如何有效地管理多容器应用程序。

启动 Docker Compose 项目(在后台)

docker compose up -d

读取当前目录中的 `docker-compose.yml` 文件,并在后台启动所有服务。

重启特定服务

docker compose restart web

仅重启 `docker-compose.yml` 中定义的 'web' 服务。

实时查看日志

docker compose logs -f

将所有服务的日志实时流式传输到终端,以监控应用程序的行为。

停止应用程序并移除相关资源

docker compose down -v

停止并移除所有正在运行的服务容器,并同时移除已定义的网络和匿名卷。

指定 Docker Compose 文件路径

docker compose -f /path/to/my-app/docker-compose.prod.yml up -d

运行一个具有不同名称或位于不同路径的 Compose 文件,而不是默认的 `docker-compose.yml`。


相同类别命令