【WebStorm教程】WebStorm Docker教程

Docker使开发人员能够在容器内部署应用程序,以便在与生产环境相同的环境中测试代码。

在你开始之前

确保在Settings/Preferences |上启用了Docker插件。插件页面,标签Installed。

启用 Docker 支持

安装并运行 Docker。

配置 Docker 守护程序连接设置:按Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | Docker。单击

添加按钮

以添加 Docker 配置并指定如何连接到 Docker 守护程序。

连接设置取决于您的 Docker 版本和操作系统。有关更多信息,请参阅Docker 配置设置。

连接成功消息应出现在对话框底部。

如果未出现任何消息,请检查Docker |上的Docker Machine 可执行设置。

1.png

连接到 Docker 守护程序。

配置的 Docker 连接应出现在服务工具窗口中(查看 | 工具窗口 | 服务或Alt+8)。选择 Docker 节点

Docker节点

并单击

连接按钮

,或从上下文菜单中选择连接。

2.png

要编辑 Docker 连接设置,请选择 Docker 节点并单击

编辑配置按钮

工具栏上的 ,或从上下文菜单中选择编辑配置。

在Services工具窗口(View | Tool Windows | Services or Alt+8)中,您可以拉取和推送镜像、创建和运行容器、管理 Docker Compose 服务等。与其他工具窗口一样,您可以开始输入图像或容器的名称以突出显示匹配的项目。

3.png

管理图像

Docker 镜像是运行容器的可执行包。根据您的开发需求,您可以将 Docker 用于以下用途:从 Docker 注册表中提取预构建的图像

例如,您可以拉取一个运行 Node.js 容器的镜像来测试您的应用程序将如何与您的生产环境进行交互。从 Dockerfile 本地构建镜像

例如,您可以构建一个运行具有特定版本 Node.js 的容器的映像,以在其中执行您的应用程序。将您的图像推送到 Docker 注册表

例如,如果您想向某人演示您的应用程序如何在某些特定版本的 Node.js 中运行,而不是设置适当的环境,他们可以从您的映像运行容器。

图像通过 Docker 注册表分发。Docker Hub是默认的公共注册表,包含所有最常见的镜像:各种 Linux 风格、数据库管理系统、Web 服务器、运行时环境等。如果您只打算使用Docker Hub,则不需要进一步的注册表配置。要使用另一个公共和私有 Docker 注册表或部署您自己的注册表服务器,请先在 WebStorm 中对其进行配置。

配置 Docker 注册表

按Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | Docker | 注册表。单击

添加按钮

以添加 Docker 注册表配置并指定如何连接到注册表。如果您指定凭据,WebStorm 将自动检查与注册表的连接。连接成功消息应出现在对话框底部。

Node.js 镜像的推荐注册表是Docker Official Images 存储库

4.png

从 Docker 注册表中提取图像

在服务工具窗口中,选择图像节点。在图像控制台下,键入要提取的图像的名称。使用完成 Ctrl+Space从官方图像的可用建议中进行选择。再次按下Ctrl+Space可查看所有用户的相关图像。

5.png

按Ctrl+Enter运行docker pull。

从 Dockerfile 构建镜像

当您编辑Dockerfile时,WebStorm 会为配置的注册表中的图像提供补全。打开要从中构建映像的 Dockerfile。单击

在 Docker 上运行

装订线并选择构建图像。

6.png

WebStorm 创建一个运行docker build命令的Dockerfile 运行配置。

将图像推送到 Docker 注册表

在服务工具窗口中,选择要上传的图像,然后从上下文菜单中单击

推送图像按钮

或选择推送图像。

7.png

选择Docker 注册表并指定存储库和标记(映像的名称和版本,例如)。

8.png

单击确定运行docker push命令。

WebStorm 存储您在本地提取或构建的图像,并在图像节点下的服务工具窗口中列出它们。选择图像时,您可以查看其名称、ID、上次更改日期、大小、标签以及使用此图像的任何容器(如果有)。您还可以从选定的镜像创建新容器、推送镜像或查看镜像使用的图层。单击以查看更多操作:将图像 ID 复制到剪贴板、运行docker image inspect命令或显示应用于图像的标签。

9.png

没有标签的图像可以是以下之一:中间图像作为其他图像的层,不占用任何空间当您基于另一个图像的较新版本重建一个图像时,仍然存在的悬空图像。您应该定期修剪悬空图像以节省磁盘空间。

要从列表中隐藏未标记的图像,请单击

过滤器菜单

Docker 工具栏,然后从Untagged Images中删除复选标记。

要删除一张或多张图像,请在列表中选择它们并单击

删除图像按钮

运行容器

Docker 容器是相应镜像的运行时实例。WebStorm 使用运行配置来执行构建 Docker 镜像和运行容器的命令。Docker 运行配置分为三种类型:Docker 映像:当您从现有映像运行容器时自动创建。您可以从您之前提取或构建的本地现有 Docker 映像运行它。Dockerfile:当您从 Dockerfile 运行容器时自动创建。此配置从 Dockerfile 构建一个映像,然后从该映像派生一个容器。Docker-compose:当您从Docker Compose 文件运行多容器 Docker 应用程序时自动创建。

从现有图像运行容器

在服务工具窗口中,选择一个图像,然后从上下文菜单中单击

创建容器按钮

或选择创建容器。

10.png

在创建容器弹出窗口中,单击创建...。

如果您已经有此映像的 Docker 运行配置,则Create Container弹出窗口还将包含该运行配置的名称作为选项。在打开的创建 Docker 配置对话框中,您可以为配置提供唯一名称并为容器指定名称。如果您将Container name字段留空,Docker 会给它一个随机的唯一名称。

11.png

完成后,单击运行以启动新配置。

从 Dockerfile 运行容器

打开要从中运行容器的 Dockerfile。单击

在 Docker 上运行

装订线并选择从该 Dockerfile 运行容器。

12.png

这将使用默认设置创建并启动一个运行配置,该配置基于 Dockerfile 构建一个镜像,然后基于该镜像运行一个容器。

要使用自定义设置创建运行配置,请单击

在 Docker 上运行

装订线并选择新建运行配置...。您可以为构建的镜像指定一个自定义标签,以及容器的名称,以及从中读取 Dockerfile 的上下文文件夹。上下文文件夹可能很有用,例如,如果您有一些超出 Dockerfile 范围的工件,您希望将其添加到映像的文件系统中。

Docker 运行配置

13.png

创建 Docker 运行配置

从主菜单中,选择运行 | 编辑配置。在Run/Debug Configurations对话框中,单击

添加新配置按钮

,指向Docker,然后单击所需的运行配置类型。

Docker形象

使用这种类型的配置从您之前提取或构建的本地现有映像运行 Docker 容器。

14.png

Docker 使用docker run命令,语法如下:

您可以使用Docker Image运行配置的选项设置此命令的所有参数。

默认情况下,Docker Image配置有以下选项: 姓名为运行配置指定一个名称,以便在编辑或运行时快速识别它。允许并行运行允许并行运行此运行配置的多个实例。默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,WebStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。存储为项目文件使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。默认情况下,它被禁用,WebStorm 将运行配置设置存储在.idea/workspace.xml中。服务器选择要用于运行配置的Docker 守护程序连接。图像 ID 或名称指定要从中创建容器的 Docker 映像的标识符或名称。容器名称指定容器的可选名称。如果为空,Docker 将为容器生成一个随机名称。这类似于将选项与命令一起使用。发射前指定在开始运行配置之前要执行的任务列表。例如,编译一些代码并构建必要的工件,运行一些外部工具或 Web 浏览器,等等。单击

添加按钮

或按下Alt+Insert以添加可用任务之一。使用

向上按钮

和移动列表中的任务

向下按钮

以更改执行任务的顺序。选择一个任务并单击

编辑按钮

以编辑该任务。单击

删除按钮

以从列表中删除选定的任务。显示此页面在实际启动之前显示运行配置设置。激活工具窗口启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器:查看 工具窗口 服务或Alt+8.

使用修改选项菜单将高级选项添加到运行配置: 随机发布所有暴露的端口将所有暴露的容器端口发布到主机上的随机空闲端口。这类似于在命令行中使用or选项。绑定端口将特定容器端口映射到主机上的特定端口。这类似于在命令行中使用or选项。单击绑定端口

浏览

字段并指定主机上的哪些端口应映射到容器中的哪些端口。您还可以提供一个特定的主机 IP,从该主机 IP 可以访问该端口(例如,您可以将其设置为仅在本地访问,或将其设置为为网络中的所有计算机打开它)。`0.0.0.0-p 3000:3001`您可以在运行选项字段中明确设置此选项,而不是配置绑定端口字段。入口点覆盖图像的默认值。这类似于在命令行上使用该选项。命令覆盖图像的默认值。这类似于将命令添加为.绑定坐骑将主机上的文件和目录挂载到容器中的特定位置。这类似于在命令行中使用or选项。如果您使用 Docker for Windows,则需要启用驱动器共享。打开 Docker 设置,选择Shared Drives ,选择要让容器可用的驱动器(例如C: ),然后重新启动 Docker。确保在Docker 连接设置(路径映射表)中将必要的本地路径映射到虚拟机。单击Bind mounts字段并指定主机目录和容器中应挂载的相应路径

浏览

。如果要禁用对容器卷的写入,请选择只读。例如,您可以将主机上的本地 Node.js 目录 ( /Users /jetbrains /WS /node_docker /web ) 挂载到容器内的某个目录 ( usr /src /app )。以这种方式挂载卷类似于设置以下命令行选项:您可以在Run options字段中明确设置此选项,而不是配置Bind mounts字段。环境变量指定环境变量。根据Dockerfile中的指令定义,存在与您正在使用的基本映像相关联的环境变量。Docker还会为每个新容器自动设置环境变量。使用此字段覆盖任何变量或指定其他变量。这类似于在命令行中使用or选项。单击环境变量

浏览

字段以添加变量的名称和值。例如,如果要抑制REPL中的颜色,请设置变量。这类似于设置以下命令行选项:您可以在运行选项字段中显式设置此选项,而不是配置环境变量字段。运行选项设置任何其他支持的 docker run选项。例如,要将容器连接到网络并为其设置别名,请指定以下内容:并非所有选项都受支持。附加到容器附加到容器的标准输入、输出和错误流。这类似于在命令行中使用or选项。显示命令预览预览将用于执行运行配置的生成命令。

Dockerfile

使用这种类型的配置从 Dockerfile 构建一个镜像,然后从这个镜像派生一个容器。

15.png

Docker 使用docker build命令从 Dockerfile 构建映像,然后使用 docker run命令从它启动容器。

默认情况下, Dockerfile配置具有以下选项: 姓名为运行配置指定一个名称,以便在编辑或运行时快速识别它。允许并行运行允许并行运行此运行配置的多个实例。默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,WebStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。存储为项目文件使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。默认情况下,它被禁用,WebStorm 将运行配置设置存储在.idea/workspace.xml中。服务器选择要用于运行配置的Docker 守护程序连接。Dockerfile指定用于构建映像的 Dockerfile 的名称和位置。图片标签为构建的图像指定一个可选的名称和标签。这有助于将来参考图像。如果您将该字段留空,则图像将只有一个随机的唯一标识符。容器名称指定容器的可选名称。如果为空,Docker 将为容器生成一个随机名称。这类似于将选项与命令一起使用。发射前指定在开始运行配置之前要执行的任务列表。例如,编译一些代码并构建必要的工件,运行一些外部工具或 Web 浏览器,等等。单击

添加按钮

或按下Alt+Insert以添加可用任务之一。使用

向上按钮

和移动列表中的任务

向下按钮

以更改执行任务的顺序。选择一个任务并单击

编辑按钮

以编辑该任务。单击

删除按钮

以从列表中删除选定的任务。显示此页面在实际启动之前显示运行配置设置。激活工具窗口启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器:查看 工具窗口 服务或Alt+8.

使用修改选项菜单将高级选项添加到运行配置: 上下文文件夹指定守护程序将在构建过程中使用的本地目录。Dockerfile 中的所有主机路径都将相对于该目录进行处理。默认情况下,如果将其留空,Docker 将使用 Dockerfile 所在的同一目录。构建参数指定构建时变量的值,该变量可以在构建过程中像常规环境变量一样访问,但不会保留在中间或最终映像中。这类似于将选项与命令一起使用。这些变量必须在 Dockerfile 中与指令一起定义。例如,您可以为要使用的基本映像的版本定义一个变量:在这种情况下,该变量将默认为并且 Dockerfile 将使用最新可用版本的 Node.js 生成图像,除非您将其重新定义为构建时参数。如果您设置 , Docker 将改为拉取,这将运行带有 Node.js 版本 8 的容器。重新定义参数类似于设置以下命令行选项:构建选项设置任何其他支持的选项。例如,您可以使用该选项为构建的图像指定元数据。启用 BuildKit(实验性)构建图像时使用BuildKit 后端。这类似于在调用命令时设置环境变量。随机发布所有暴露的端口将所有暴露的容器端口发布到主机上的随机空闲端口。这类似于在命令行中使用or选项。绑定端口将特定容器端口映射到主机上的特定端口。这类似于在命令行中使用or选项。单击绑定端口

浏览

字段并指定主机上的哪些端口应映射到容器中的哪些端口。您还可以提供一个特定的主机 IP,从该主机 IP 可以访问该端口(例如,您可以将其设置为仅在本地访问,或将其设置为为网络中的所有计算机打开它)。`0.0.0.0-p 3000:3001`您可以在运行选项字段中明确设置此选项,而不是配置绑定端口字段。入口点覆盖图像的默认值。这类似于在命令行上使用该选项。命令覆盖图像的默认值。这类似于将命令添加为.绑定坐骑将主机上的文件和目录挂载到容器中的特定位置。这类似于在命令行中使用or选项。如果您使用 Docker for Windows,则需要启用驱动器共享。打开 Docker 设置,选择Shared Drives ,选择要让容器可用的驱动器(例如C: ),然后重新启动 Docker。确保在Docker 连接设置(路径映射表)中将必要的本地路径映射到虚拟机。单击Bind mounts字段并指定主机目录和容器中应挂载的相应路径

浏览

。如果要禁用对容器卷的写入,请选择只读。例如,您可以将主机上的本地 Node.js 目录 ( /Users /jetbrains /WS /node_docker /web ) 挂载到容器内的某个目录 ( usr /src /app )。以这种方式挂载卷类似于设置以下命令行选项:您可以在Run options字段中明确设置此选项,而不是配置Bind mounts字段。环境变量指定环境变量。根据Dockerfile]中的指令定义,存在与您正在使用的基本映像相关联的环境变量。Docker还会为每个新容器自动设置环境变量。使用此字段覆盖任何变量或指定其他变量。这类似于在命令行中使用or选项。单击环境变量

浏览

字段以添加变量的名称和值。例如,如果要抑制REPL中的颜色,请设置变量。这类似于设置以下命令行选项:您可以在运行选项字段中显式设置此选项,而不是配置环境变量字段。运行选项设置任何其他支持的 docker run选项。例如,要将容器连接到网络并为其设置别名,请指定以下内容:并非所有选项都受支持。附加到容器附加到容器的标准输入、输出和错误流。这类似于在命令行中使用or选项。显示命令预览预览将用于执行运行配置的生成命令。

Docker组成

使用这种类型的配置来运行多容器 Docker 应用程序。

16.png

Docker 使用docker-compose命令来定义、配置和运行多容器应用程序。构建、创建、启动和附加到容器的主要命令是docker-compose up。

默认情况下, Docker-compose配置具有以下选项: 姓名为运行配置指定一个名称,以便在编辑或运行时快速识别它。允许并行运行允许并行运行此运行配置的多个实例。默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,WebStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。存储为项目文件使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。默认情况下,它被禁用,WebStorm 将运行配置设置存储在.idea/workspace.xml中。服务器选择要用于运行配置的Docker 守护程序连接。编写文件指定定义必要服务的撰写文件。Docker Compose 以指定的顺序构建配置,因此任何后续文件都会覆盖并添加到先前文件中相同服务的字段。这类似于将选项与命令一起使用。服务指定要构建、创建和启动的服务。单击浏览图标 (

浏览图标

) 以选择 YML 文件中列出的服务。

17.png

发射前指定在开始运行配置之前要执行的任务列表。例如,编译一些代码并构建必要的工件,运行一些外部工具或 Web 浏览器,等等。单击

添加按钮

或按下Alt+Insert以添加可用任务之一。使用

向上按钮

和移动列表中的任务

向下按钮

以更改执行任务的顺序。选择一个任务并单击

编辑按钮

以编辑该任务。单击

删除按钮

以从列表中删除选定的任务。显示此页面在实际启动之前显示运行配置设置。激活工具窗口启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器:查看 工具窗口 服务或Alt+8.

使用修改选项菜单将高级选项添加到运行配置: 项目名称为 Docker Compose 指定一个备用项目名称。默认情况下,它是当前目录的名称。这类似于将选项与命令一起使用。环境变量指定Docker Compose 环境变量。这些仅由 Docker Compose 进程使用。它们不会传递给任何容器。环境变量文件指定定义Docker Compose 环境变量的自定义环境文件的路径。默认情况下,Docker Compose在项目目录中查找名为.env的文件。这类似于将选项与命令一起使用。启用 BuildKit(实验性)构建图像时使用BuildKit 后端。这类似于在调用命令时设置环境变量。在 上删除卷停止和删除容器时,还要删除 Docker Compose 文件中声明的命名卷和附加到容器的匿名卷。这类似于在命令中使用or选项。启用兼容模式将 v3 服务定义转换为 v2 兼容参数。这类似于将选项与命令一起使用。删除上的图片配置停止和删除容器时应删除哪些图像。您可以选择删除任何服务使用的所有图像,或仅删除未在字段中设置自定义标签的图像。这类似于将选项与命令一起使用。暂停以秒为单位设置超时以强制终止不会正常关闭的容器。Docker 通常会尝试用 优雅地终止任何容器,但它最终可能会无限期地运行。设置一个超时时间,在此之后 Docker 应该发送强制关闭。这类似于在命令中使用or选项。退出代码返回所选服务容器的退出代码。每当所选服务中的容器停止时,返回其退出代码并停止服务中的所有其他容器。这类似于将选项与命令一起使用。覆盖比例为每个服务设置要启动的容器数。此选项会覆盖Docker Compose 文件中的参数(如果存在)。这类似于将选项与命令一起使用。重新创建依赖项启动服务时重新创建依赖容器。这类似于将选项与命令一起使用。重新创建匿名卷重新创建匿名卷,而不是从以前的容器中检索数据。这类似于在命令中使用or选项。移除孤儿删除 Docker Compose 文件中未定义的服务的容器。这类似于将选项与命令一起使用。开始配置要启动的服务:Selected and dependencies:默认情况下,Docker Compose 会启动所有指定的服务和链接的服务。Start: none:创建服务后不要启动任何服务。这类似于将选项与命令一起使用。开始:选定服务:不启动任何链接服务。这类似于将选项与命令一起使用。附加到配置显示输出流的容器:Selected services:默认情况下,Docker Compose 附加到指定服务的所有已启动容器。附加到:无:不要附加到任何容器。这类似于在命令中使用or选项。附加到:选定和依赖项:附加到指定服务和链接服务的容器。这类似于将选项与命令一起使用。重新创建容器配置要停止并用新容器替换的容器:Changed configuration:默认情况下,Docker Compose 仅在相应的配置或映像发生更改时才重新创建容器。重新创建容器:全部:重新创建服务中的所有容器,即使相应的配置或映像没有更改。这类似于将选项与命令一起使用。重新创建容器:无:不要在服务中重新创建任何容器,即使相应的配置已更改。这类似于将选项与命令一起使用。建造在启动容器之前配置要构建的图像:仅缺少图像:默认情况下,Docker Compose 仅构建不可用的图像,并在可能的情况下使用以前构建的图像。构建:从不:不构建任何图像。如果某些图像不可用,请始终使用以前构建的图像或抛出错误。这类似于将选项与命令一起使用。Build: always:始终在启动容器之前构建映像。这类似于将选项与命令一起使用。停止容器配置如何停止服务中的容器。默认情况下,Docker Compose 不会停止服务中的其他容器。您必须手动停止它们。但是,如果服务中的任何容器停止,您可以选择停止所有容器。这类似于将选项与命令一起使用。

与容器交互

创建的容器列在服务工具窗口中。默认情况下,服务工具窗口会显示所有容器,包括未运行的容器。要从列表中隐藏已停止的容器,请单击

过滤器按钮

工具栏中的 ,选择Docker,然后单击已停止的容器以移除复选框。

选择容器后,您可以查看Build Log选项卡,该选项卡显示了在创建和启动容器时由相应Docker 运行配置生成的部署日志。

18.png

仪表板选项卡提供有关容器的重要信息。除了名称和哈希 ID,它还列出了环境变量、端口和卷绑定。您可以添加、编辑和删除环境变量、端口和卷绑定。但是,这些更改要求您重新创建容器,并且不要更改用于创建此容器的Docker 运行配置。这意味着下次运行配置时更改将不会保留。

19.png

在正在运行的容器中执行命令

在“服务”工具窗口中,右键单击容器名称,然后单击Exec。在Run Command in Container弹出窗口中,单击Create and Run...以创建并执行新命令。

20.png

或者,您可以选择之前运行的命令之一。在Exec对话框中,键入命令并单击OK。例如:

| | 列出/tmp目录的内容 |

| ----------------------- | -------------------------------------- |

| | 在/tmp目录中创建my-new-dir目录 |

| | 开始一个会话 |

21.png

查看有关正在运行的容器的详细信息

在服务工具窗口中,右键单击容器名称,然后单击检查。

输出在检查选项卡上呈现为 JSON 数组。

22.png

查看容器中运行的进程

在“服务”工具窗口中,右键单击容器名称,然后单击“显示进程”。

23.png

输出在Processes选项卡上呈现为 JSON 数组。

将控制台附加到可执行容器的输出

在服务工具窗口中,右键单击容器,然后单击附加。

控制台附加到在容器内运行的ENTRYPOINT进程的输出,并在“附加控制台”选项卡上呈现。

24.png

Docker撰写

Docker Compose用于运行多容器应用程序。例如,您可以将 Web 服务器、后端数据库和应用程序代码作为单独的服务运行。如有必要,可以通过添加更多容器来扩展每个服务。这使您能够在类似于生产的动态环境中执行高效的开发和测试。

要配置 Docker Compose,请打开Settings/Preferences对话框 ( Ctrl+Alt+S),转到Build、Execution、Deployment | Docker | Tools,并指定 Docker Compose 可执行文件的位置。

25.png

运行多容器 Docker 应用程序

在一个或多个Docker Compose 文件中定义必要的服务。从主菜单中,选择运行 | 编辑配置。单击

添加图标

,指向Docker,然后单击Docker-compose。

26.png

指定定义要在容器中运行的服务的 Docker Compose 文件。如有必要,您可以限制此配置将启动的服务,指定环境变量,并在启动相应容器之前强制构建映像(即添加docker-compose up命令的选项)。单击确定保存 Docker Compose 运行配置,在主工具栏中选择它并单击

运行按钮

或按Shift+F10开始配置。

要快速创建Docker-compose运行配置并使用默认设置运行它,请在项目工具窗口中右键单击 Docker Compose 文件,然后单击上下文菜单中的运行。您还可以使用 Docker Compose 文件中的装订线图标和上下文菜单来控制服务。

当 Docker Compose 运行您的多容器应用程序时,您可以使用服务工具窗口来控制特定服务并与容器交互。容器列在专用Compose节点下,而不是在Containers节点下(仅适用于独立容器)。

扩展服务

在服务工具窗口中,选择要缩放的服务,然后从上下文菜单中单击

缩放按钮

或选择缩放。

27.png

指定此服务需要多少个容器,然后单击OK。

停止正在运行的服务

在服务工具窗口中,选择服务并从上下文菜单中单击

停止按钮

或选择停止。

28.png

停止所有正在运行的服务

在“服务”工具窗口中,选择“撰写”节点,然后从上下文菜单中单击

停止按钮

或选择“停止”。

29.png

关闭您的应用程序

在服务工具窗口中,选择Compose节点,然后从上下文菜单中单击

向下按钮

或选择Down 。

30.png

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

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

在服务工具窗口中,右键单击Compose节点或嵌套服务节点,然后单击上下文菜单中的Jump to Source或按F4。

31.png

如果环境文件与Docker Compose 文件位于同一目录中,则Docker-compose运行配置将识别带有.env后缀的环境文件。

故障排除

如果您遇到以下问题之一,请尝试相应的建议解决方案。

无法连接到 Docker

确保:Docker 正在运行。您的Docker 连接设置正确。

如果您使用的是 Docker for Windows,请在 Docker 设置的“常规”部分中启用Expose daemon on tcp://localhost:2375 without TLS选项。

如果您使用的是 Docker Toolbox,请确保 Docker Machine 正在运行,并且在Build、Execution、Deployment |下的Settings/Preferences对话框中正确指定了其可执行文件。Docker | 工具。Ctrl+Alt+S

无法使用 Docker 撰写

确保 Docker Compose 可执行文件在设置/首选项对话框中的构建、执行、部署 |Ctrl+Alt+S下正确指定。Docker | 工具。

无法使用端口绑定

确保暴露相应的容器端口。在Dockerfile中使用EXPOSE命令。

无法将现有 Dockerfile 或 Docker Compose 文件与相关类型相关联

当您创建新的 Dockerfile 或 Docker 组合文件时,WebStorm 会自动识别它们的类型。如果文件类型从其名称中不明显,系统将提示您手动选择文件类型。要将现有文件与正确的类型关联,请在项目工具窗口中右键单击它,然后从上下文菜单中选择与文件类型关联。

如果禁用与文件类型关联操作,这可能意味着文件名已注册为当前文件类型的模式。例如,如果您有一个自定义名称的 Dockerfile,该名称被识别为文本文件,则无法将其与 Dockerfile 类型相关联。要删除文件类型模式,请执行以下操作:按Ctrl+Alt+S打开 IDE 设置并选择Editor | 文件类型。选择相关的文件类型(在本例中为:Text)并删除带有文件名的模式。单击确定以应用更改。

现在您应该能够使用关联菜单中的文件类型设置正确的文件类型。

限制

Docker插件有一定的限制和错误,但 JetBrains 一直在努力对其进行修复和改进。您可以在我们的错误跟踪系统中找到Docker 问题列表,并投票选出对您影响最大的问题。您还可以提交自己的错误和功能请求。