# Docker Compose

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

[Docker Compose](https://docs.docker.com/compose/overview/) 用于运行多容器应用程序。 例如，您可以将一个 Web 服务器、一个后端数据库和您的应用程序代码作为独立的服务运行。 每个服务都可以通过添加更多的容器来扩展规模（如果需要的话）。 这使您能够在类似生产的动态环境中进行高效的开发和测试。

Procedure: 启用 Docker 插件

此功能依赖于 [Docker](https://plugins.jetbrains.com/plugin/7724-docker) 插件，该插件在 IntelliJ IDEA 中默认捆绑并启用。 如果相关功能不可用，请确保您没有禁用插件。

> **Note:**
> Docker 插件默认仅在具有 Ultimate 订阅的 IntelliJ IDEA 中可用。 对于 IntelliJ IDEA，您需要按照 [插件](managing-plugins.html) 中的说明安装 Docker 插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  Docker  插件并点击   启用  。

IntelliJ IDEA 能识别 [Docker Compose 文件](https://docs.docker.com/compose/compose-file/)，并用 ![](https://resources.jetbrains.com/help/img/idea/2026.3/clouds-docker-impl.icons.expui.dockerCompose.svg) 图标进行标记。 此外，还会添加 [装订区域图标](editor-gutter.html#gutter-action-icons)，用于运行 Docker Compose 文件中定义的各种服务。

IntelliJ IDEA 可以根据名称或内容检测 Docker Compose 文件。 如果 Docker Compose 文件是通过其内容检测到的，编辑器会在文件顶部显示一个横幅，可在其中选择将其保留为 Docker Compose，或将其从检测中排除。

![Docker Compose 文件检测横幅](https://resources.jetbrains.com/help/img/idea/2026.3/docker-compose-autoconfiguration.png)

Procedure: 禁用所有 YAML 文件的按内容检测

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `构建、执行、部署 | Docker | Docker Compose` 。

2. 清除   按内容检测 Docker Compose 文件   选项并应用更改。

IntelliJ IDEA 仅将具有标准名称的文件识别为 Docker Compose 文件：  `compose.yaml` 、  `compose.yml` 、  `compose.override.yaml` 、  `compose.override.yml` ，以及名称包含  `docker-compose`  的 YAML 文件。 标记为   保留为 Docker Compose   的文件仍会被识别。

Procedure: 创建 Docker Compose 文件

1. 在   项目  工具窗口 `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))中，右键点击项目根目录，选择   新建  或按 `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))，然后选择   Docker Compose 文件  。

![创建 docker-compose.yml](https://resources.jetbrains.com/help/img/idea/2026.3/ws_docker_compose_containerize_docker_compose_menu.png)

2. 在弹出的窗口中，接受默认的 Docker Compose 文件名或自定义名称并按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

![创建 docker-compose.yml](https://resources.jetbrains.com/help/img/idea/2026.3/ws_docker_compose_containerize_docker_compose.png)

Procedure: 完成服务配置

1. 在编辑器中打开 Docker Compose 文件。

2. 开始输入服务名称。 IntelliJ IDEA 将显示   服务  弹窗，您可以在其中选择相应的配置。

![Docker Compose 补全。 选择服务](https://resources.jetbrains.com/help/img/idea/2026.3/docker-compose-select-service.png)

> **Tip:**
> 可以使用基础补全快捷键（ `Ctrl+Space` (Windows), `⌃ Space` (macOS), `⌃ Space` (IntelliJ IDEA Classic (macOS)), `⌃ Space` (macOS System Shortcuts), `Ctrl+Space` (XWin), `Ctrl+Space` (GNOME), `Ctrl+Space` (KDE), `Alt+/` (Emacs), `Ctrl+Space` (Sublime Text), `⌃ Space` (Sublime Text (macOS)), `Ctrl+Space` (Visual Studio), `⌃ Space` (Visual Studio (macOS)), `Ctrl+Space` (NetBeans), `Ctrl+Space` (Eclipse), `⌃ Space` (Eclipse (macOS))）来调出   服务  弹窗。
>
>
>
> 要禁用此行为，请转到  `设置 | 构建、执行、部署 | Docker | Docker Compose` 并取消勾选   在调用基础补全时显示弹窗  选项。

Procedure: 运行多容器 Docker 应用程序

1. 在一个或多个 [Docker Compose 文件](https://docs.docker.com/compose/compose-file/)中定义必要的服务。

2. 在主菜单中，前往  `运行 | 编辑配置` 。

3. 点击 !["添加"图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg)，指向   Docker  ，然后点击   Docker Compose  。

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

4. 指定包含您的服务定义的 Docker Compose 文件。 如有必要，您可以定义此配置将启动的服务，指定 [环境变量](https://docs.docker.com/compose/environment-variables/)，并在启动相应容器之前强制构建镜像（即为 [docker compose up](https://docs.docker.com/compose/reference/up/) 命令添加  `--build`  选项）。

有关可用选项的更多信息，请参阅 [Docker compose 运行配置](docker-compose-run-configuration.html)。

5. 点击   OK  保存 Docker Compose 运行配置，在主工具栏中选择它，然后点击 ![运行按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.run.run.svg)或按 `Shift+F10` (Windows), `⌃ R` (macOS), `⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ R` (macOS System Shortcuts), `Shift+F10` (XWin), `Shift+F10` (GNOME), `Shift+F10` (KDE), `Shift+F10` (Emacs), `Shift+F10` (Sublime Text), `Shift+F10` (Sublime Text (macOS)), `Ctrl+F5` (Visual Studio), `⌃ F5` (Visual Studio (macOS)), `F6` (NetBeans), `Alt+Shift+X` (Eclipse), `⌘ ⇧ F11` (Eclipse (macOS))启动配置。

> **Tip:**
> 要快速创建  Docker Compose  运行配置并使用默认设置运行，请在   项目   工具窗口中右键点击 Docker Compose 文件，然后在上下文菜单中点击   运行  。 您还可以使用边栏图标和上下文菜单在 Docker Compose 文件中运行和管理服务。

当 Docker Compose 运行多容器应用程序时，可以使用   [服务](services-tool-window.html#docker)  工具窗口（ `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-containers.html#interacting-with-containers)。 作为 Docker Compose 一部分运行的容器会列在专用的   编排  节点下，而不是   容器  节点下（该节点仅用于独立容器）。

当在编辑器中打开 Docker Compose 文件时，IntelliJ IDEA 会显示 [嵌入提示](inlay-hints.html)，包括服务状态和可用的端口操作。

* 服务状态 每个服务名称旁都会显示状态嵌入提示，指示服务是否正在运行或失败。 点击嵌入提示会导航到 服务 工具窗口中的容器日志。 ![在编辑器中的 Docker Compose 文件里查看服务状态](https://resources.jetbrains.com/help/img/idea/2026.3/docker-compose-state-inlay.png)

* 端口操作（打开 URL） 对于暴露端口的服务，IntelliJ IDEA 会直接在编辑器中提供快速操作： * 在浏览器中打开 ：在默认浏览器中打开服务 URL。 * 连接到数据库 ：打开对应的数据库连接流程，可直接在 IDE 中查看数据库并运行查询。 如需了解更多信息，请参阅 [数据源](managing-data-sources.html)。 > **Note:** > 端口操作目前仅适用于本地 Docker 环境。

Procedure: 扩展服务

1. 在   服务   工具窗口中，选择您要扩展的服务并点击 ![Scale 按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.expandAll.svg) 或从上下文菜单中选择   扩缩容  。

2. 在   扩缩容  对话框中，指定您想要为此服务创建的容器数量，然后点击   OK  。

Procedure: 停止运行中的服务

* 在   服务   工具窗口中，选择服务并点击 ![停止按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.stop.svg) 或从上下文菜单中选择   停止  。

Procedure: 停止所有正在运行的服务

* 在   服务   工具窗口中，选择   编排   节点并点击 ![停止按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.stop.svg)，或从上下文菜单中选择   停止  。

Procedure: 关闭您的应用程序

* 在   服务   工具窗口中，选择   编排   节点并点击 ![“下移”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.nodes.undeploy.svg)，或从上下文菜单中选择   向下  。

这将停止并删除容器以及所有相关的网络、卷和镜像。

Procedure: 打开用于运行应用程序的 Docker Compose 文件

* 在   服务  工具窗口中，右键点击   编排  节点或嵌套的服务节点，然后在上下文菜单中点击   跳转到源  或按 `F4` (Windows), `⌘ ↓` (macOS), `F4` (IntelliJ IDEA Classic (macOS)), `F4` (macOS System Shortcuts), `F4` (XWin), `F4` (GNOME), `F4` (KDE), `F4` (Emacs), `F4` (Sublime Text), `F4` (Sublime Text (macOS)), `F4` (Visual Studio), `⌘ ↓` (Visual Studio (macOS)), `F4` (NetBeans), `F12` (Eclipse), `F3` (Eclipse (macOS))。

## See also

### 教程

[使用 Docker Compose 运行和调试 Spring Boot 应用程序](run-and-debug-a-spring-boot-application-using-docker-compose.html)

### 参考

[“服务”工具窗口](services-tool-window.html)

