WebStorm 2021.1 Help

码头工人

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

在你开始前

  • 确保在Settings/Preferences |上启用了Docker插件。插件页面,标签Installed。有关详细信息,请参阅管理插件

启用 Docker 支持

  1. 安装并运行 Docker。

    有关更多信息,请参阅Docker 文档

  2. 配置 Docker 守护程序连接设置:

    • Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | 码头工人

    • 单击添加按钮以添加 Docker 配置并指定如何连接到 Docker 守护程序。

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

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

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

      Docker 连接设置
  3. 连接到 Docker 守护程序。

    配置的 Docker 连接应出现在服务工具窗口中(查看 | 工具窗口 | 服务Alt+8)。选择 Docker 节点码头工人节点并单击连接按钮,或从上下文菜单中选择连接。

    服务工具窗口,连接到 Docker

    要编辑 Docker 连接设置,请选择 Docker 节点并单击编辑配置按钮工具栏上的 ,或从上下文菜单中选择编辑配置。

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

服务工具窗口,文本搜索

管理图像

Docker 镜像是运行容器的可执行包。根据您的开发需求,您可以将 Docker 用于以下用途:

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

配置 Docker 注册表

  1. Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | 码头工人 | 注册表

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

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

    Docker 注册表对话框

从 Docker 注册表中提取图像

  1. 服务工具窗口中,选择图像节点。

  2. 图像控制台中,键入要提取的图像的名称。使用完成 Ctrl+Space官方图像的可用建议中进行选择。再次按下Ctrl+Space可查看所有用户的相关图像。

    Docker 工具窗口:拉取镜像
  3. Ctrl+Enter运行docker pull

从 Dockerfile 构建镜像

当您编辑 Dockerfile 时,WebStorm 为已配置注册表中的图像提供全。您还可以按住并单击图像名称以在 Web 浏览器中打开其页面。Ctrl

  1. 打开要从中构建映像的Dockerfile 。

  2. 单击在 Docker 上运行装订线并选择构建图像。

    Docker 上的构建映像弹出窗口

WebStorm 运行 docker build命令。

将图像推送到 Docker 注册表

  1. 服务工具窗口中,选择要上传的图像,然后从上下文菜单中单击推送图像按钮或选择推送图像。

    推送图像上下文菜单项
  2. 选择Docker 注册表并指定存储库和标记(映像的名称和版本,例如my-app:v2)。

    推送图像对话框
  3. 单击确定运行docker push命令。

WebStorm 存储您在本地提取或构建的图像,并在图像下的服务工具窗口中列出它们。当您选择图像时,您可以通过单击“属性”选项卡查看其 ID 或将其复制到剪贴板。复制到剪贴板按钮

Docker 映像属性

要显示有关图像的详细信息,请右键单击它并从上下文菜单中选择检查。WebStorm 运行 docker image inspect命令并将输出打印到检查选项卡。

Docker 映像检查选项卡

没有标签的图像<none>:<none>可以是以下之一:

  • 中间图像作为其他图像的层,不占用任何空间

  • 当您基于另一个图像的较新版本重建一个图像时,仍然存在的悬空图像。您应该定期修剪悬空图像以节省磁盘空间。

要从列表中隐藏未标记的图像,请单击过滤器菜单Docker 工具栏,然后单击未标记的图像以删除复选标记。

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

运行容器

Docker 容器是相应镜像的运行时实例。WebStorm 使用运行配置来执行构建 Docker 镜像和运行容器的命令。Docker 运行配置分为三种类型:

从现有图像运行容器

  1. 服务工具窗口中,选择一个图像,然后从上下文菜单中单击创建容器按钮或选择创建容器。

    创建容器上下文菜单项
  2. 创建容器弹出窗口中,单击创建

  3. 在打开的创建 Docker 配置对话框中,您可以为配置提供唯一名称并为容器指定名称。如果您将Container name字段留空,Docker 会给它一个随机的唯一名称。

    创建 Docker 配置对话框
  4. 完成后,单击运行以启动新配置。

从 Dockerfile 运行容器

  1. 打开要从中运行容器的 Dockerfile。

  2. 单击在 Docker 上运行装订线并选择从该 Dockerfile 运行容器。

    在 Docker 上运行弹出窗口

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

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

Docker 运行配置

Docker 运行/调试配置

创建 Docker 运行配置

  1. 从主菜单中,选择运行 | 编辑配置

  2. Run/Debug Configurations对话框中,单击添加新配置按钮,指向Docker,然后单击所需的运行配置类型。

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

Docker Image 运行配置对话框

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

docker run [选项] 图像 [命令] [ARG...]

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

默认情况下,Docker Image配置有以下选项:

姓名

为运行配置指定一个名称,以便在编辑或运行时快速识别它。

允许并行运行

允许并行运行此运行配置的多个实例。

默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,WebStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。

存储为项目文件

使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。

默认情况下,它被禁用,WebStorm 将运行配置设置存储在.idea/workspace.xml中。

服务器

选择要用于运行配置的Docker 守护程序连接。

图像 ID 或名称

指定要从中创建容器的 Docker 映像的标识符或名称。

容器名称

指定容器的可选名称。如果为空,Docker 将为容器生成一个随机名称。

这类似于将--name选项与docker run命令一起使用。

发射前

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

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

使用向上按钮和移动列表中的任务向下按钮以更改执行任务的顺序。

选择一个任务并单击编辑按钮以编辑该任务。单击删除按钮以从列表中删除选定的任务。

显示此页面

在实际启动之前显示运行配置设置。

激活工具窗口

启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器:查看 | 工具窗口 | 服务Alt+8.

使用修改选项菜单将高级选项添加到运行配置:

随机发布所有暴露的端口

将所有暴露的容器端口发布到主机上的随机空闲端口。

这类似于在命令行中使用-Por选项。--publish-all

绑定端口

将特定容器端口映射到主机上的特定端口。

这类似于在命令行中使用-por选项。--publish

单击绑定端口浏览字段并指定主机上的哪些端口应映射到容器中的哪些端口。您还可以提供一个特定的主机 IP,从该主机 IP 可以访问该端口(例如,您可以将其设置为仅在本地访问,或将其设置为为网络中的所有计算机打开它)。127.0.0.10.0.0.0

假设您已经在主机端口 3001 上运行 Node.js,并且您想在容器中运行另一个 Node.js 实例并通过端口 3000 从主机访问它。将主机端口 3000 绑定到容器中的端口 3001类似于设置以下命令行选项:

-p 3000:3001

您可以在运行选项字段中明确设置此选项,而不是配置绑定端口字段。

入口点

覆盖ENTRYPOINT图像的默认值。

这类似于--entrypoint在命令行上使用该选项。

命令

覆盖CMD图像的默认值。

这类似于将命令添加为docker run.

绑定坐骑

将主机上的文件和目录挂载到容器中的特定位置。

这类似于在命令行中使用-vor选项。--volume

单击Bind mounts字段并指定主机目录和容器中应挂载的相应路径浏览。如果要禁用对容器卷的写入,请选择只读。

例如,您可以将主机上的本地 Node.js 目录 ( /Users/jetbrains/WS/node_docker/web ) 挂载到容器内的某个目录 ( usr/src/app )。以这种方式挂载卷类似于设置以下命令行选项:

-v /Users/jetbrains/WS/node_docker/web:usr/src/app

您可以在Run options字段中明确设置此选项,而不是配置Bind mounts字段。

环境变量

指定环境变量。根据DockerfileENV中的指令定义,存在与您正在使用的基本映像相关联的环境变量。Docker还会为每个新容器自动设置环境变量。使用此字段覆盖任何变量或指定其他变量。

这类似于在命令行中使用-eor选项。--env

单击环境变量浏览字段以添加变量的名称和值。

例如,如果要抑制REPL中的颜色,请设置NODE_DISABLE_COLORS = 1变量。这类似于设置以下命令行选项:

--env NODE_DISABLE_COLORS=%env-var-value

您可以在运行选项字段中显式设置此选项,而不是配置环境变量字段。

运行选项

设置任何其他支持的 docker run选项。

例如,要将容器连接到my-net网络并为其设置my-app别名,请指定以下内容:

--network my-net --network-alias my-app

附加到容器

附加到容器的标准输入、输出和错误流。

这类似于在命令行中使用-aor选项。--attach

显示命令预览

预览将用于执行运行配置的生成命令。

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

Dockerfile 运行配置对话框

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

默认情况下, Dockerfile配置具有以下选项:

姓名

为运行配置指定一个名称,以便在编辑或运行时快速识别它。

允许并行运行

允许并行运行此运行配置的多个实例。

默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,WebStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。

存储为项目文件

使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。

默认情况下,它被禁用,WebStorm 将运行配置设置存储在.idea/workspace.xml中。

服务器

选择要用于运行配置的Docker 守护程序连接。

Dockerfile

指定用于构建映像的 Dockerfile 的名称和位置。

图片标签

为构建的图像指定一个可选的名称和标签。

这有助于将来参考图像。如果您将该字段留空,则图像将只有一个随机的唯一标识符。

容器名称

指定容器的可选名称。如果为空,Docker 将为容器生成一个随机名称。

这类似于将--name选项与docker run命令一起使用。

发射前

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

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

使用向上按钮和移动列表中的任务向下按钮以更改执行任务的顺序。

选择一个任务并单击编辑按钮以编辑该任务。单击删除按钮以从列表中删除选定的任务。

显示此页面

在实际启动之前显示运行配置设置。

激活工具窗口

启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器:查看 | 工具窗口 | 服务Alt+8.

使用修改选项菜单将高级选项添加到运行配置:

上下文文件夹

指定守护程序将在构建过程中使用的本地目录。Dockerfile 中的所有主机路径都将相对于该目录进行处理。默认情况下,如果将其留空,Docker 将使用 Dockerfile 所在的同一目录。

构建参数

指定构建时变量的值,该变量可以在构建过程中像常规环境变量一样访问,但不会保留在中间或最终映像中。

这类似于将--build-args选项与docker build命令一起使用。

这些变量必须在 Dockerfile 中与ARG指令一起定义。例如,您可以为要使用的基本映像的版本定义一个变量:

ARG WSNODETAG=最新的 FROM 节点:$WSNODETAG

在这种情况下,该WSNODETAG变量将默认为latest并且 Dockerfile 将使用最新可用版本的 Node.js 生成图像,除非您将其重新定义为构建时参数。如果您设置 , WSNODETAG=8Docker 将node:8改为拉取,这将运行带有 Node.js 版本 8 的容器。

重新定义WSNODETAG参数类似于设置以下命令行选项:

--build-arg WSNODETAG=8

构建选项

设置任何其他支持docker build的选项。

例如,您可以使用该--label选项为构建的图像指定元数据。

启用 BuildKit(实验性)

构建图像时使用BuildKit 后端。

这类似于在调用命令DOCKER_BUILDKIT=1时设置环境变量。docker build

随机发布所有暴露的端口

将所有暴露的容器端口发布到主机上的随机空闲端口。

这类似于在命令行中使用-Por选项。--publish-all

绑定端口

将特定容器端口映射到主机上的特定端口。

这类似于在命令行中使用-por选项。--publish

单击绑定端口浏览字段并指定主机上的哪些端口应映射到容器中的哪些端口。您还可以提供一个特定的主机 IP,从该主机 IP 可以访问该端口(例如,您可以将其设置为仅在本地访问,或将其设置为为网络中的所有计算机打开它)。127.0.0.10.0.0.0

假设您已经在主机端口 3001 上运行 Node.js,并且您想在容器中运行另一个 Node.js 实例并通过端口 3000 从主机访问它。将主机端口 3000 绑定到容器中的端口 3001类似于设置以下命令行选项:

-p 3000:3001

您可以在运行选项字段中明确设置此选项,而不是配置绑定端口字段。

入口点

覆盖ENTRYPOINT图像的默认值。

这类似于--entrypoint在命令行上使用该选项。

命令

覆盖CMD图像的默认值。

这类似于将命令添加为docker run.

绑定坐骑

将主机上的文件和目录挂载到容器中的特定位置。

这类似于在命令行中使用-vor选项。--volume

单击Bind mounts字段并指定主机目录和容器中应挂载的相应路径浏览。如果要禁用对容器卷的写入,请选择只读。

例如,您可以将主机上的本地 Node.js 目录 ( /Users/jetbrains/WS/node_docker/web ) 挂载到容器内的某个目录 ( usr/src/app )。以这种方式挂载卷类似于设置以下命令行选项:

-v /Users/jetbrains/WS/node_docker/web:usr/src/app

您可以在Run options字段中明确设置此选项,而不是配置Bind mounts字段。

环境变量

指定环境变量。根据DockerfileENV中的指令定义,存在与您正在使用的基本映像相关联的环境变量。Docker还会为每个新容器自动设置环境变量。使用此字段覆盖任何变量或指定其他变量。

这类似于在命令行中使用-eor选项。--env

单击环境变量浏览字段以添加变量的名称和值。

例如,如果要抑制REPL中的颜色,请设置NODE_DISABLE_COLORS = 1变量。这类似于设置以下命令行选项:

--env NODE_DISABLE_COLORS=%env-var-value

您可以在运行选项字段中显式设置此选项,而不是配置环境变量字段。

运行选项

设置任何其他支持的 docker run选项。

例如,要将容器连接到my-net网络并为其设置my-app别名,请指定以下内容:

--network my-net --network-alias my-app

附加到容器

附加到容器的标准输入、输出和错误流。

这类似于在命令行中使用-aor选项。--attach

显示命令预览

预览将用于执行运行配置的生成命令。

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

Docker compose 运行配置对话框

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

默认情况下, Docker-compose配置具有以下选项:

姓名

为运行配置指定一个名称,以便在编辑或运行时快速识别它。

允许并行运行

允许并行运行此运行配置的多个实例。

默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,WebStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。

存储为项目文件

使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。

默认情况下,它被禁用,WebStorm 将运行配置设置存储在.idea/workspace.xml中。

服务器

选择要用于运行配置的Docker 守护程序连接。

编写文件

指定定义必要服务的撰写文件。Docker Compose 以指定的顺序构建配置,因此任何后续文件都会覆盖并添加到先前文件中相同服务的字段。

这类似于将-f选项与docker-compose命令一起使用。

服务

指定要构建、创建和启动的服务。

单击浏览图标 ( 浏览图标) 以选择 YML 文件中列出的服务。

指定要运行的服务

发射前

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

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

使用向上按钮和移动列表中的任务向下按钮以更改执行任务的顺序。

选择一个任务并单击编辑按钮以编辑该任务。单击删除按钮以从列表中删除选定的任务。

显示此页面

在实际启动之前显示运行配置设置。

激活工具窗口

启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器:查看 | 工具窗口 | 服务Alt+8.

使用修改选项菜单将高级选项添加到运行配置:

项目名

为 Docker Compose 指定一个备用项目名称。默认情况下,它是当前目录的名称。

这类似于将-p选项与docker-compose命令一起使用。

环境变量

指定Docker Compose 环境变量。这些仅由 Docker Compose 进程使用。它们不会传递给任何容器。

环境变量文件

指定定义Docker Compose 环境变量的自定义环境文件的路径。

默认情况下,Docker Compose在项目目录中查找名为.env的文件。

这类似于将--env-file选项与docker-compose命令一起使用。

启用 BuildKit(实验性)

构建图像时使用BuildKit 后端。

这类似于在调用命令DOCKER_BUILDKIT=1时设置环境变量。docker build

在 `down 上删除卷

停止和删除容器时,还要删除 Docker Compose 文件中声明的命名卷和附加到容器的匿名卷。

这类似于在命令中使用-vor--volumes选项docker-compose down

启用兼容模式

将 v3 服务定义转换为 v2 兼容参数。

这类似于将--compatibility选项与docker-compose命令一起使用。

删除`down上的图片

配置停止和删除容器时应删除哪些图像。您可以选择删除任何服务使用的所有图像,或仅删除未在image字段中设置自定义标签的图像。

这类似于将--rmi选项与docker-compose down命令一起使用。

暂停

以秒为单位设置超时以强制终止不会正常关闭的容器。

Docker 通常会尝试用 优雅地终止任何容器SIGTERM,但它最终可能会无限期地运行。设置一个超时时间,在此之后 Docker 应该发送SIGKILL强制关闭。

这类似于在命令中使用-tor--timeout选项docker-compose up

退出代码

返回所选服务容器的退出代码。

每当所选服务中的容器停止时,返回其退出代码并停止服务中的所有其他容器。

这类似于将--exit-code-from选项与docker-compose up命令一起使用。

覆盖比例

为每个服务设置要启动的容器数。

此选项会覆盖scaleDocker Compose 文件中的参数(如果存在)。

这类似于将--scale选项与docker-compose up命令一起使用。

重新创建依赖项

启动服务时重新创建依赖容器。

这类似于将--always-recreate-deps选项与docker-compose up命令一起使用。

重新创建匿名卷

重新创建匿名卷,而不是从以前的容器中检索数据。

这类似于在命令中使用-Vor--renew-anon-volumes选项docker-compose up

移除孤儿

删除 Docker Compose 文件中未定义的服务的容器。

这类似于将--remove-orphans选项与docker-compose up命令一起使用。

开始

配置要启动的服务:

  • Selected and dependencies:默认情况下,Docker Compose 会启动所有指定的服务和链接的服务。

  • Start: none:创建服务后不要启动任何服务。这类似于将--no-start选项与docker-compose up命令一起使用。

  • 开始:选定服务:不启动任何链接服务。这类似于将--no-deps选项与docker-compose up命令一起使用。

附加到

配置显示输出流的容器:

  • Selected services:默认情况下,Docker Compose 附加到指定服务的所有已启动容器。

  • 附加到:无:不要附加到任何容器。这类似于在命令中使用-dor--detach选项docker-compose up

  • 附加到:选定和依赖项:附加到指定服务和链接服务的容器。这类似于将--attach-dependencies选项与docker-compose up命令一起使用。

重新创建容器

配置要停止并用新容器替换的容器:

  • Changed configuration:默认情况下,Docker Compose 仅​​在相应的配置或映像发生更改时才重新创建容器。

  • 重新创建容器:全部:重新创建服务中的所有容器,即使相应的配置或映像没有更改。这类似于将--force-recreate选项与docker-compose up命令一起使用。

  • 重新创建容器:无:不要在服务中重新创建任何容器,即使相应的配置已更改。这类似于将--no-recreate选项与docker-compose up命令一起使用。

建造

在启动容器之前配置要构建的图像:

  • 仅缺少图像:默认情况下,Docker Compose 仅​​构建不可用的图像,并在可能的情况下使用以前构建的图像。

  • 构建:从不:不构建任何图像。如果某些图像不可用,请始终使用以前构建的图像或抛出错误。这类似于将--no-build选项与docker-compose up命令一起使用。

  • Build: always:始终在启动容器之前构建映像。这类似于将--build选项与docker-compose up命令一起使用。

停止容器

配置如何停止服务中的容器。默认情况下,Docker Compose 不会停止服务中的其他容器。您必须手动停止它们。

但是,如果服务中的任何容器停止,您可以选择停止所有容器。这类似于将--abort-on-container-exit选项与docker-compose up命令一起使用。

与容器交互

创建的容器列在服务工具窗口中。默认情况下,服务工具窗口会显示所有容器,包括未运行的容器。要从列表中隐藏已停止的容器,请单击过滤器按钮工具栏中的 ,选择Docker,然后单击已停止的容器以移除复选框。

选择容器时,默认可以查看以下选项卡:

构建日志

显示在为容器构建映像时由相应的Docker 运行配置生成的部署日志。

日志

显示来自容器标准输出流的日志消息:STDOUTSTDERR.

有关更多信息,请参阅docker logs命令参考。

特性

显示容器的名称和 ID,以及对应图像的 ID。

要将任何属性复制到剪贴板,请选择它并单击复制到剪贴板按钮

您还可以为容器指定一个新名称,然后单击Save。如果容器正在运行,它将停止并获得一个新名称。要使用新名称运行容器,请选择它并单击启动容器按钮。但是,用于创建此容器的Docker 运行配置中的名称不会更改。

环境变量

显示为容器配置的环境变量。

要添加新变量,请单击添加按钮。要删除变量,请选择它并单击删除按钮。要编辑现有变量,请选择它并单击编辑按钮

当您进行任何更改并单击Save时,如果容器正在运行,它将停止。要使用新变量集运行此容器,请选择它并单击启动容器按钮。但是,这些变量在用于创建此容器的Docker 运行配置中不会更改。

端口绑定

显示为此容器配置的端口绑定。

选择发布所有端口以将所有公开的容器端口绑定到主机上的随机空闲端口。要添加新的端口绑定,请单击添加按钮。要删除端口绑定,请选择它并单击删除按钮。要编辑现有端口绑定,请选择它并单击编辑按钮

当您进行任何更改并单击Save时,如果容器正在运行,它将停止。要使用新的端口绑定运行此容器,请选择它并单击启动容器按钮。但是,这些绑定不会在用于创建此容器的Docker 运行配置中更改。

卷绑定

显示为此容器配置的卷绑定。

要添加新的卷绑定,请单击添加按钮。要删除卷绑定,请选择它并单击删除按钮。要编辑现有的卷绑定,请选择它并单击编辑按钮

当您进行任何更改并单击Save时,如果容器正在运行,它将停止。要使用新的卷绑定运行此容器,请选择它并单击启动容器按钮。但是,这些绑定不会在用于创建此容器的Docker 运行配置中更改。

文件

浏览正在运行的容器中的文件。

选择任何文件并单击在编辑器中查看按钮以在编辑器中远程打开它或单击下载到 Scratches 按钮以创建文件的副本作为草稿

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

  1. 在“服务”工具窗口中,右键单击容器名称,然后单击Exec

  2. Run Command in Container弹出窗口中,单击Create and Run以创建并执行新命令。

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

    或者,您可以选择之前运行的命令之一。

  3. Exec对话框中,键入命令并单击OK。例如:

    ls /tmp

    列出/tmp目录的内容

    mkdir /tmp/my-new-dir

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

    /bin/bash

    开始一个bash会话

    运行 /bin/bash 的 Exec 选项卡

有关详细信息,请参阅docker exec命令参考。

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

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

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

    检查选项卡

有关更多信息,请参阅docker inspect命令参考。

查看容器中运行的进程

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

    显示正在运行的容器中的进程

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

有关详细信息,请参阅docker top命令参考。

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

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

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

    将控制台附加到正在运行的容器

有关详细信息,请参阅docker attach命令参考。

码头工人撰写

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

要配置 Docker Compose,请打开设置/首选项对话框 ( Ctrl+Alt+S),转到构建、执行、部署 | 码头工人 | Tools,并指定 Docker Compose 可执行文件的位置。

Docker Compose 可执行文件

运行多容器 Docker 应用程序

  1. 在一个或多个Docker Compose 文件中定义必要的服务。

  2. 从主菜单中,选择运行 | 编辑配置

  3. 单击添加图标,指向Docker,然后单击Docker-compose

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

    有关可用选项的更多信息,请参阅Docker-compose

  5. 单击确定保存 Docker Compose 运行配置,在主工具栏中选择它并单击运行按钮或按Shift+F10开始配置。

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

扩展服务

  1. 服务工具窗口中,选择要缩放的服务,然后从上下文菜单中单击缩放按钮或选择缩放。

    比例上下文菜单项
  2. 指定此服务需要多少个容器,然后单击OK

停止正在运行的服务

  • 服务工具窗口中,选择服务并从上下文菜单中单击停止按钮或选择停止。

    停止上下文菜单项

停止所有正在运行的服务

  • 在“服务”工具窗口中,选择“撰写”节点,然后从上下文菜单中单击停止按钮或选择“停止”。

    Docker Compose 停止所有服务

关闭您的应用程序

  • 服务工具窗口中,选择Compose节点,然后从上下文菜单中单击向下按钮或选择Down 。

    Docker Compose 删除应用程序

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

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

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

    打开 Docker 撰写文件

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

故障排除

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

无法连接到 Docker

确保:

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

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

无法使用 Docker 撰写

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

无法使用端口绑定

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

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

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

如果禁用与文件类型关联操作,这可能意味着文件名已注册为当前文件类型的模式。例如,如果您有一个自定义名称的 Dockerfile,该名称被识别为文本文件,则无法将其与 Dockerfile 类型相关联。要删除文件类型模式,请执行以下操作:

  1. Ctrl+Alt+S打开 IDE 设置并选择Editor | 文件类型

  2. 选择相关的文件类型(在本例中为:Text)并删除带有文件名的模式。

  3. 单击确定以应用更改。

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

限制

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

最后修改时间:2022 年 2 月 1 日