# Docker compose 运行配置

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

> **TL;DR**
> 创建：  `运行 | 编辑配置 |`  ![添加新配置](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg)  `| Docker compose`

使用此类配置来运行多容器 Docker 应用程序。

![Docker Compose 运行配置对话框](https://resources.jetbrains.com/help/img/idea/2026.3/docker-compose-run-config.png)

Docker 使用 [docker compose](https://docs.docker.com/compose/reference/) 命令来定义、配置和运行多容器应用程序。 构建、创建、启动并附加到容器的主要命令是 [docker compose up](https://docs.docker.com/compose/reference/up/)。

> **Note:**
> 默认情况下，IntelliJ IDEA 假设您正在运行 Compose V2。 但是，如果您运行的是停用的 Compose V1，那么  `docker compose` 命令将不起作用。 在这种情况下，您需要手动指定  `docker compose`  可执行文件的位置 [Docker 连接设置](settings-docker.html)。
>
>
>
> 如需更多信息，请参阅 [Migrate to Compose V2](https://docs.docker.com/compose/migrate/)。共有 1 个字符串。﹖ Wait.

默认情况下，   Docker Compose   配置具有以下选项：

|  条目  |  描述  |
| --- | --- |
|    名称    |  在编辑或运行时，指定运行配置的名称以便快速识别。  |
|    允许多个实例    |     允许并行运行此运行配置的多个实例。       默认情况下，它是禁用的，当您在另一个实例仍在运行时启动此配置，IntelliJ IDEA 建议停止正在运行的实例并启动另一个。 当一个运行配置消耗大量资源且没有充分理由运行多个实例时，这会很有帮助。     |
|    存储为项目文件    |     将运行配置设置的文件保存下来，与其他团队成员共享。 默认位置是  `.idea/runConfigurations` 。 但是，如果您不想共享  `.idea` 目录，您可以将配置保存到项目内的任何其他目录。       默认情况下，它是禁用的，并且 IntelliJ IDEA 将运行配置设置存储在  `.idea/workspace.xml` 。     |
|    服务器    |  选择用于此运行配置的 [Docker 守护进程连接](docker.html#connect_to_docker)。  |
|    Compose 文件    |     指定定义必要服务的 compose 文件。 Docker Compose 按指定顺序构建配置，因此任何后续文件都会覆盖并添加到前一个文件中相同服务的字段。       这类似于将  `-f`  选项与  `docker compose`  命令配合使用。     |
|    服务    |     指定要构建、创建和启动的服务。       点击 ![浏览图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 以选择 YML 文件中列出的服务。      ![docker-compose 浏览 图标](https://resources.jetbrains.com/help/img/idea/2026.3/db_docker_compose_browse_icon.png)  |
|    启动前    |     指定在启动运行配置之前要执行的任务列表。 例如，运行另一个配置、构建必要的构件、运行某个外部工具或 Web 浏览器等。       点击 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 或按 `Alt+Insert` (Windows), `⌘ N` (macOS), `⌃ N` (IntelliJ IDEA Classic (macOS)), `⌘ N` (macOS System Shortcuts), `Alt+Insert` (XWin), `Alt+Insert` (GNOME), `Alt+Insert` (KDE), `Alt+Insert` (Emacs), `Ctrl+N` (Sublime Text), `⌘ N` (Sublime Text (macOS)), `Ctrl+N` (Visual Studio), `⌘ N` (Visual Studio (macOS)), `Alt+Insert` (NetBeans), `Alt+Insert` (Eclipse), `⌘ N` (Eclipse (macOS)) 添加一个可用任务。       使用 ![“向上”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.moveUp.svg) 和 ![“向下”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.moveDown.svg) 移动列表中的任务，以更改任务的执行顺序。 选择一个任务并点击 ![编辑按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.edit.svg) 来编辑该任务。 点击 !["移除"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.remove.svg) 从列表中移除所选任务。     |
|    显示此页面    |  在实际启动运行配置之前显示其设置。  |
|    激活工具窗口    |     根据配置类型，启动此运行配置时，将打开 [运行](run-tool-window.html)、 [调试](debug-tool-window.html) 或 [服务](services-tool-window.html) 工具窗口。 如果此选项被禁用，您可以手动打开工具窗口：        * `视图 \| 工具窗口 \| 运行` 或 `Alt+4` (Windows), `⌘ 4` (macOS), `⌘ 4` (IntelliJ IDEA Classic (macOS)), `⌘ 4` (macOS System Shortcuts), `Alt+4` (XWin), `Alt+4` (GNOME), `Alt+4` (KDE), `Alt+4` (Emacs), `Alt+4` (Sublime Text), `⌘ 4` (Sublime Text (macOS)), `Alt+4` (Visual Studio), `⌘ 4` (Visual Studio (macOS)), `Alt+4` (NetBeans), `Alt+4` (Eclipse), `⌘ 4` (Eclipse (macOS))    * `视图 \| 工具窗口 \| 调试` 或 `Alt+5` (Windows), `⌘ 5` (macOS), `⌘ 5` (IntelliJ IDEA Classic (macOS)), `⌘ 5` (macOS System Shortcuts), `Alt+5` (XWin), `Alt+5` (GNOME), `Alt+5` (KDE), `Alt+5` (Emacs), `Alt+5` (Sublime Text), `⌘ 5` (Sublime Text (macOS)), `Alt+5` (Visual Studio), `⌘ 5` (Visual Studio (macOS)), `Alt+5` (NetBeans), `Alt+5` (Eclipse), `⌘ 5` (Eclipse (macOS))    * `查看 \| 工具窗口 \| 服务` 或 `Alt+8` (Windows), `⌘ 8` (macOS), `⌘ 8` (IntelliJ IDEA Classic (macOS)), `⌘ 8` (macOS System Shortcuts), `Alt+8` (XWin), `Alt+8` (GNOME), `Alt+8` (KDE), `Alt+8` (Emacs), `Alt+8` (Sublime Text), `⌘ 8` (Sublime Text (macOS)), `Alt+8` (Visual Studio), `Alt+8` (Visual Studio (macOS)), `Alt+8` (NetBeans), `Alt+8` (Eclipse), `⌘ 8` (Eclipse (macOS))    |

使用   修改选项   菜单向运行配置添加高级选项：

|  条目  |  描述  |
| --- | --- |
|    指定项目名称    |     为 Docker Compose 指定一个备用项目名称。 默认情况下，它是当前目录的名称。       这类似于将  `-p`  选项与  `docker compose`  命令配合使用。     |
|    配置文件    |     为应用程序中的不同环境或用例指定 [配置文件](https://docs.docker.com/compose/how-tos/profiles/)。       配置文件可用于对服务进行分组，并仅在需要时激活，从而让单个  `compose.yml`  文件支持多种场景(例如开发、调试或生产)。       可以指定多个配置文件；请使用逗号分隔。     |
|    环境变量    |  指定 [Docker Compose 环境变量](https://docs.docker.com/compose/reference/envvars/)。 这些仅由 Docker Compose 进程使用。 它们不会传递给任何容器。  |
|    环境变量文件    |     指定路径到自定义 [环境文件](https://docs.docker.com/compose/env-file/)，以定义 [Docker Compose 环境变量](https://docs.docker.com/compose/reference/envvars/)。       这类似于将  `--env-file`  选项与  `docker compose`  命令配合使用。       默认情况下，   Docker Compose   运行配置会在包含 Docker Compose 文件的目录中查找名为  `.env`  的文件。     |
|    启用兼容模式    |     将 v3 服务定义转换为兼容 v2 的参数。       这类似于将  `--compatibility`  选项与  `docker compose`  命令配合使用。     |
|    `down` 时移除孤立项    |  在关闭应用程序时，移除当前 Compose 文件中未定义的服务对应的容器。  |
|    `down` 时移除卷    |     停止和移除容器时，还会删除在 Docker Compose 文件中声明的命名卷以及附加到容器的匿名卷。       这类似于在  `docker compose down`  命令中使用  `-v`  或  `--volumes`  选项。     |
|    `down` 时移除镜像    |     配置停止和移除容器时应删除的镜像。 您可以选择删除任何服务使用的所有图像，或仅删除在  `image`  字段中未设置自定义标签的图像。       这类似于将  `--rmi`  选项与  `docker compose down`  命令配合使用。     |
|    SIGKILL 超时    |     设置以秒为单位的超时时间，以强制终止未正常关闭的容器。       Docker 首先尝试使用  `SIGTERM`  正常关闭，但容器可能会无限期地继续运行。 设置超时时间，之后 Docker 应发出  `SIGKILL`  以强制关闭。       这类似于在  `docker compose up`  命令中使用  `-t`  或  `--timeout`  选项。     |
|    返回退出代码    |     返回已选择服务容器的退出代码。       每当所选服务中的容器停止时，返回其退出代码并停止服务中的所有其他容器。       这类似于在  `docker compose up`  命令中使用  `--exit-code-from`  和  `--abort-on-container -exit`  选项。     |
|    重写缩放比例    |     为每个服务设置要启动的容器数量。       此选项将覆盖 Docker Compose 文件中的  `scale`  参数（如果存在）。       这类似于将  `--scale`  选项与  `docker compose up`  命令配合使用。     |
|    重新创建依赖项    |     启动服务时重新创建依赖容器。       这类似于将  `--always-recreate-deps`  选项与  `docker compose up`  命令配合使用。     |
|    重新创建匿名卷    |     重新创建匿名卷，而不是从先前的容器中检索数据。       这类似于在  `docker compose up`  命令中使用  `-V`  或  `--renew-anon-volumes`  选项。     |
|    移除孤立项    |     删除 Docker Compose 文件中未定义的服务的容器。       这类似于将  `--remove-orphans`  选项与  `docker compose up`  命令配合使用。     |
|    不在日志中打印前缀    |  在日志输出中禁用服务名称前缀，以生成更简洁的日志。  |
|    开始    |     配置要启动哪些服务：        * 所选部署和依赖项 ：默认情况下，Docker Compose 会启动所有指定的服务及其关联服务。    * 无 ：创建服务后不要启动它们。 这类似于使用 `--no-start` 选项与 `docker compose up` 命令。    * 所选服务 ：不要启动任何已链接的服务。 这类似于使用 `--no-deps` 选项与 `docker compose up` 命令。    |
|    附加到    |     配置要为哪些容器显示输出流：        * 所选服务 ：默认情况下，Docker Compose 会附加到指定服务的所有已启动容器。    * 无 ：不要附加到任何容器。 这类似于使用 `-d` 或 `--detach` 选项与 `docker compose up` 命令。    * 所选部署和依赖项 ：连接到指定服务和关联服务的容器。 这类似于使用 `--attach-dependencies` 选项与 `docker compose up` 命令。    |
|    重新创建容器    |     配置要停止哪些容器并用新容器替换：        * 更改的配置 ：默认情况下，Docker Compose 仅在相应的配置或镜像发生更改时才会重新创建容器。    * 全部 ：重新创建服务中的所有容器，即使相应的配置或镜像没有更改。 这类似于使用 `--force-recreate` 选项与 `docker compose up` 命令。    * 无 ：即使相应的配置已更改，也不要在服务中重新创建任何容器。 这类似于使用 `--no-recreate` 选项与 `docker compose up` 命令。    |
|    构建    |     配置在启动容器之前要构建哪些镜像：        * 仅缺失镜像 ：默认情况下，Docker Compose 只构建不可用的镜像，并在可能的情况下使用先前构建的镜像。    * 从不 ：不要构建任何图像。 始终使用以前构建的镜像，如果某些镜像不可用则抛出错误。 这类似于使用 `--no-build` 选项与 `docker compose up` 命令。    * 始终 ：在启动容器之前始终构建镜像。 这类似于使用 `--build` 选项与 `docker compose up` 命令。    |
|    停止容器    |     配置如何停止服务中的容器。 默认情况下，Docker Compose 不会停止服务中的其他容器。 您需要手动停止他们。       不过，可以选择在服务中的任一容器停止时停止所有容器。 这类似于将  `--abort-on-container-exit`  选项与  `docker compose up`  命令配合使用。     |

