码头工人
Docker使开发人员能够在容器内部署应用程序,以便在与生产环境相同的环境中测试代码。PhpStorm 使用Docker 插件提供 Docker 支持。该插件默认捆绑并启用。Docker插件与PhpStorm 捆绑并默认激活。如果插件被禁用,请在设置/首选项的已安装选项卡上启用它。插件页面,如管理插件中所述。
启用 Docker 支持
安装并运行 Docker。
有关更多信息,请参阅Docker 文档。
配置 Docker 守护程序连接设置:
按Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | 码头工人。
单击以添加 Docker 配置并指定如何连接到 Docker 守护程序。
连接设置取决于您的 Docker 版本和操作系统。有关更多信息,请参阅Docker 配置。
连接成功消息应出现在对话框底部。
如果未出现任何消息,请检查Docker |上的Docker Machine 可执行设置。工具页面。
连接到 Docker 守护程序。
配置的 Docker 连接应出现在服务工具窗口中( 或Alt+8)。选择 Docker 节点并单击,或从上下文菜单中选择连接。
要编辑 Docker 连接设置,请选择 Docker 节点并单击工具栏上的 ,或从上下文菜单中选择编辑配置。
在Services工具窗口( or Alt+8)中,您可以拉取和推送镜像、创建和运行容器、管理 Docker Compose 服务等。与其他工具窗口一样,您可以开始输入图像或容器的名称以突出显示匹配的项目。
管理图像
Docker 镜像是运行容器的可执行包。根据您的开发需求,您可以将 Docker 用于以下用途:
例如,您可以构建一个运行具有特定 PHP 版本的容器的映像,以在其中执行您的应用程序。
例如,如果您想向某人展示您的应用程序如何以某种特定版本的语言运行,而不是设置适当的环境,他们可以从您的映像运行容器。
图像通过 Docker 注册表分发。Docker Hub是默认的公共注册表,包含所有最常见的镜像:各种 Linux 风格、数据库管理系统、Web 服务器、运行时环境等。还有其他公共和私有 Docker 注册表,您也可以部署自己的注册表服务器。
配置 Docker 注册表
按Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | 码头工人 | 注册表。
单击以添加 Docker 注册表配置并指定如何连接到注册表。如果您指定凭据,PhpStorm 将自动检查与注册表的连接。连接成功消息应出现在对话框底部。
从 Docker 注册表中提取图像
在服务工具窗口中,选择图像节点。
例如,在图像控制台中,键入要提取的图像的名称
phpstorm/php-apache:8.0-xdebug3.0
。使用完成 Ctrl+Space从官方图像的可用建议中进行选择。再次按下Ctrl+Space可查看所有用户的相关图像。按Ctrl+Enter运行docker pull。
从 Dockerfile 构建镜像
当您编辑 Dockerfile 时,PhpStorm 为已配置注册表中的图像提供补全。您还可以按住并单击图像名称以在 Web 浏览器中打开其页面。Ctrl
打开要从中构建映像的Dockerfile 。
单击装订线并选择构建图像。
PhpStorm 运行docker build命令。
将图像推送到 Docker 注册表
在服务工具窗口中,选择要上传的图像,然后从上下文菜单中单击或选择推送图像。
选择Docker 注册表并指定存储库和标记(映像的名称和版本,例如
my-app:v2
)。单击确定运行docker push命令。
PhpStorm 存储您在本地提取或构建的图像,并在图像下的服务工具窗口中列出它们。当您选择图像时,您可以通过单击“属性”选项卡查看其 ID 或将其复制到剪贴板。
要显示有关图像的详细信息,请右键单击它并从上下文菜单中选择检查。PhpStorm 运行docker image inspect命令并将输出打印到检查选项卡。
没有标签的图像<none>:<none>
可以是以下之一:
中间图像作为其他图像的层,不占用任何空间
当您基于另一个图像的较新版本重建一个图像时,仍然存在的悬空图像。您应该定期修剪悬空图像以节省磁盘空间。
要从列表中隐藏未标记的图像,请单击Docker 工具栏,然后单击未标记的图像以删除复选标记。
要删除一张或多张图像,请在列表中选择它们并单击。
运行容器
Docker 容器是相应镜像的运行时实例。PhpStorm 使用运行配置来执行构建 Docker 映像和运行容器的命令。Docker 运行配置分为三种类型:
Dockerfile:当您从 Dockerfile 运行容器时自动创建。此配置从 Dockerfile 构建一个映像,然后从该映像派生一个容器。
Docker-compose:当您从Docker Compose 文件运行多容器 Docker 应用程序时自动创建。
从现有图像运行容器
在服务工具窗口中,选择一个图像,然后从上下文菜单中单击或选择创建容器。
在创建容器弹出窗口中,单击创建。
在打开的创建 Docker 配置对话框中,您可以为配置提供唯一名称并为容器指定名称。如果您将Container name字段留空,Docker 会给它一个随机的唯一名称。
完成后,单击运行以启动新配置。
从 Dockerfile 运行容器
打开要从中运行容器的 Dockerfile。
单击装订线并选择从该 Dockerfile 运行容器。
这将使用默认设置创建并启动一个运行配置,该配置基于 Dockerfile 构建一个镜像,然后基于该镜像运行一个容器。
要使用自定义设置创建运行配置,请单击装订线并选择New Run Configuration。您可以为构建的镜像指定一个自定义标签,以及容器的名称,以及从中读取 Dockerfile 的上下文文件夹。上下文文件夹可能很有用,例如,如果您有一些超出 Dockerfile 范围的工件,您希望将其添加到映像的文件系统中。
Docker 运行配置
创建 Docker 运行配置
从主菜单中,选择
。在Run/Debug Configurations对话框中,单击,指向Docker,然后单击所需的运行配置类型。
使用这种类型的配置从您之前提取或构建的本地现有映像运行 Docker 容器。
Docker 使用docker run命令,语法如下:
您可以使用Docker Image运行配置的选项设置此命令的所有参数。
默认情况下,Docker Image配置有以下选项:
姓名 | 为运行配置指定一个名称,以便在编辑或运行时快速识别它。 |
允许并行运行 | 允许并行运行此运行配置的多个实例。 默认情况下,它被禁用,当您在另一个实例仍在运行时启动此配置时,PhpStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。 |
存储为项目文件 | 使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。 默认情况下,它被禁用,并且 PhpStorm 将运行配置设置存储在.idea/workspace.xml中。 |
服务器 | 选择要用于运行配置的Docker 守护程序连接。 |
图像 ID 或名称 | 指定要从中创建容器的 Docker 映像的标识符或名称。 |
容器名称 | 指定容器的可选名称。如果为空,Docker 将为容器生成一个随机名称。 这类似于将 |
发射前 | 指定在开始运行配置之前要执行的任务列表。例如,编译一些代码并构建必要的工件,运行一些外部工具或 Web 浏览器,等等。 单击或按下Alt+Insert以添加可用任务之一。 使用和移动列表中的任务以更改执行任务的顺序。 选择一个任务并单击以编辑该任务。单击以从列表中删除选定的任务。 |
显示此页面 | 在实际启动之前显示运行配置设置。 |
激活工具窗口 | 启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器: 或Alt+8. |
使用修改选项菜单将高级选项添加到运行配置:
随机发布所有暴露的端口 | 将所有暴露的容器端口发布到主机上的随机空闲端口。 这类似于在命令行中使用 |
绑定端口 | 将特定容器端口映射到主机上的特定端口。 这类似于在命令行中使用 单击绑定端口字段并指定主机上的哪些端口应映射到容器中的哪些端口。您还可以提供一个特定的主机 IP,从该主机 IP 可以访问该端口(例如,您可以将其设置为仅在本地访问,或将其设置为为网络中的所有计算机打开它)。 假设您已经在主机端口 5432 上运行 MySQL,并且您希望在容器中运行另一个 MySQL 实例并通过端口 5433 从主机访问它。将主机端口 5433 绑定到容器中的端口 5432 类似于设置以下命令行选项: -p 5433:5432 您可以在运行选项字段中明确设置此选项,而不是配置绑定端口字段。 |
入口点 | 覆盖 这类似于 |
命令 | 覆盖 这类似于将命令添加为 |
绑定坐骑 | 将主机上的文件和目录挂载到容器中的特定位置。 这类似于在命令行中使用 单击Bind mounts字段并指定主机目录和容器中应挂载的相应路径。如果要禁用对容器卷的写入,请选择只读。 例如,您可以将主机上的本地 MySQL 目录 ( /Users/Shared/mysql ) 挂载到容器内的某个目录 ( /var/lib/mysql )。以这种方式挂载卷类似于设置以下命令行选项: -v /Users/Shared/mysql:/var/lib/mysql 您可以在Run options字段中明确设置此选项,而不是配置Bind mounts字段。 |
环境变量 | 指定环境变量。根据Dockerfile 这类似于在命令行中使用 单击环境变量字段以添加变量的名称和值。 例如,如果您想默认使用特定用户名(而不是运行应用程序的用户的操作系统名称)连接到 MySQL,您可以将该 --env MYSQL_USER=%env-var-value 您可以在运行选项字段中显式设置此选项,而不是配置环境变量字段。 |
运行选项 | 设置任何其他支持的 docker run选项。 例如,要将容器连接到 --network my-net --network-alias my-app |
附加到容器 | 附加到容器的标准输入、输出和错误流。 这类似于在命令行中使用 |
显示命令预览 | 预览将用于执行运行配置的生成命令。 |
使用这种类型的配置从 Dockerfile 构建一个镜像,然后从这个镜像派生一个容器。
Docker 使用docker build命令从 Dockerfile 构建映像,然后使用 docker run命令从它启动容器。
默认情况下, Dockerfile配置具有以下选项:
姓名 | 为运行配置指定一个名称,以便在编辑或运行时快速识别它。 |
允许并行运行 | 允许并行运行此运行配置的多个实例。 默认情况下,它被禁用,当您在另一个实例仍在运行时启动此配置时,PhpStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。 |
存储为项目文件 | 使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。 默认情况下,它被禁用,并且 PhpStorm 将运行配置设置存储在.idea/workspace.xml中。 |
服务器 | 选择要用于运行配置的Docker 守护程序连接。 |
Dockerfile | 指定用于构建映像的 Dockerfile 的名称和位置。 |
图片标签 | 为构建的图像指定一个可选的名称和标签。 这有助于将来参考图像。如果您将该字段留空,则图像将只有一个随机的唯一标识符。 |
容器名称 | 指定容器的可选名称。如果为空,Docker 将为容器生成一个随机名称。 这类似于将 |
发射前 | 指定在开始运行配置之前要执行的任务列表。例如,编译一些代码并构建必要的工件,运行一些外部工具或 Web 浏览器,等等。 单击或按下Alt+Insert以添加可用任务之一。 使用和移动列表中的任务以更改执行任务的顺序。 选择一个任务并单击以编辑该任务。单击以从列表中删除选定的任务。 |
显示此页面 | 在实际启动之前显示运行配置设置。 |
激活工具窗口 | 启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器: 或Alt+8. |
使用修改选项菜单将高级选项添加到运行配置:
上下文文件夹 | 指定守护程序将在构建过程中使用的本地目录。Dockerfile 中的所有主机路径都将相对于该目录进行处理。默认情况下,如果将其留空,Docker 将使用 Dockerfile 所在的同一目录。 |
构建参数 | 指定构建时变量的值,该变量可以在构建过程中像常规环境变量一样访问,但不会保留在中间或最终映像中。 这类似于将 这些变量必须在 Dockerfile 中与
ARG MSTAG=最新的来自 mysql:$MSTAG
在这种情况下,该 重新定义 --build-arg MSTAG=5.5 |
构建选项 | 设置任何其他支持 例如,您可以使用该 |
启用 BuildKit(实验性) | 构建图像时使用BuildKit 后端。 这类似于在调用命令 |
随机发布所有暴露的端口 | 将所有暴露的容器端口发布到主机上的随机空闲端口。 这类似于在命令行中使用 |
绑定端口 | 将特定容器端口映射到主机上的特定端口。 这类似于在命令行中使用 单击绑定端口字段并指定主机上的哪些端口应映射到容器中的哪些端口。您还可以提供一个特定的主机 IP,从该主机 IP 可以访问该端口(例如,您可以将其设置为仅在本地访问,或将其设置为为网络中的所有计算机打开它)。 假设您已经在主机端口 5432 上运行 MySQL,并且您希望在容器中运行另一个 MySQL 实例并通过端口 5433 从主机访问它。将主机端口 5433 绑定到容器中的端口 5432 类似于设置以下命令行选项: -p 5433:5432 您可以在运行选项字段中明确设置此选项,而不是配置绑定端口字段。 |
入口点 | 覆盖 这类似于 |
命令 | 覆盖 这类似于将命令添加为 |
绑定坐骑 | 将主机上的文件和目录挂载到容器中的特定位置。 这类似于在命令行中使用 单击Bind mounts字段并指定主机目录和容器中应挂载的相应路径。如果要禁用对容器卷的写入,请选择只读。 例如,您可以将主机上的本地 MySQL 目录 ( /Users/Shared/mysql ) 挂载到容器内的某个目录 ( /var/lib/mysql )。以这种方式挂载卷类似于设置以下命令行选项: -v /Users/Shared/mysql:/var/lib/mysql 您可以在Run options字段中明确设置此选项,而不是配置Bind mounts字段。 |
环境变量 | 指定环境变量。根据Dockerfile 这类似于在命令行中使用 单击环境变量字段以添加变量的名称和值。 例如,如果您想默认使用特定用户名(而不是运行应用程序的用户的操作系统名称)连接到 MySQL,您可以将该 --env MYSQL_USER=%env-var-value 您可以在运行选项字段中显式设置此选项,而不是配置环境变量字段。 |
运行选项 | 设置任何其他支持的 docker run选项。 例如,要将容器连接到 --network my-net --network-alias my-app |
附加到容器 | 附加到容器的标准输入、输出和错误流。 这类似于在命令行中使用 |
显示命令预览 | 预览将用于执行运行配置的生成命令。 |
使用这种类型的配置来运行多容器 Docker 应用程序。
Docker 使用docker-compose命令来定义、配置和运行多容器应用程序。构建、创建、启动和附加到容器的主要命令是docker-compose up。
默认情况下, Docker-compose配置具有以下选项:
姓名 | 为运行配置指定一个名称,以便在编辑或运行时快速识别它。 |
允许并行运行 | 允许并行运行此运行配置的多个实例。 默认情况下,它被禁用,当您在另一个实例仍在运行时启动此配置时,PhpStorm 建议停止正在运行的实例并启动另一个实例。当运行配置消耗大量资源并且没有充分理由运行多个实例时,这很有帮助。 |
存储为项目文件 | 使用运行配置设置保存文件以与其他团队成员共享。默认位置是.idea/runConfigurations。但是,如果您不想共享.idea目录,您可以将配置保存到项目中的任何其他目录。 默认情况下,它被禁用,并且 PhpStorm 将运行配置设置存储在.idea/workspace.xml中。 |
服务器 | 选择要用于运行配置的Docker 守护程序连接。 |
编写文件 | 指定定义必要服务的撰写文件。Docker Compose 以指定的顺序构建配置,因此任何后续文件都会覆盖并添加到先前文件中相同服务的字段。 这类似于将 |
服务 | 指定要构建、创建和启动的服务。 单击浏览图标 ( ) 以选择 YML 文件中列出的服务。 |
发射前 | 指定在开始运行配置之前要执行的任务列表。例如,编译一些代码并构建必要的工件,运行一些外部工具或 Web 浏览器,等等。 单击或按下Alt+Insert以添加可用任务之一。 使用和移动列表中的任务以更改执行任务的顺序。 选择一个任务并单击以编辑该任务。单击以从列表中删除选定的任务。 |
显示此页面 | 在实际启动之前显示运行配置设置。 |
激活工具窗口 | 启动此运行配置时打开服务工具窗口。禁用时,您可以手动打开工具窗口以查看正在运行的容器: 或Alt+8. |
使用修改选项菜单将高级选项添加到运行配置:
项目名 | 为 Docker Compose 指定一个备用项目名称。默认情况下,它是当前目录的名称。 这类似于将 |
环境变量 | 指定Docker Compose 环境变量。这些仅由 Docker Compose 进程使用。它们不会传递给任何容器。 |
环境变量文件 | 指定定义Docker Compose 环境变量的自定义环境文件的路径。 默认情况下,Docker Compose在项目目录中查找名为.env的文件。 这类似于将 |
启用 BuildKit(实验性) | 构建图像时使用BuildKit 后端。 这类似于在调用命令 |
在 `down 上删除卷 | 停止和删除容器时,还要删除 Docker Compose 文件中声明的命名卷和附加到容器的匿名卷。 这类似于在命令中使用 |
启用兼容模式 | 将 v3 服务定义转换为 v2 兼容参数。 这类似于将 |
删除`down上的图片 | 配置停止和删除容器时应删除哪些图像。您可以选择删除任何服务使用的所有图像,或仅删除未在 这类似于将 |
暂停 | 以秒为单位设置超时以强制终止不会正常关闭的容器。 Docker 通常会尝试用 优雅地终止任何容器 这类似于在命令中使用 |
退出代码 | 返回所选服务容器的退出代码。 每当所选服务中的容器停止时,返回其退出代码并停止服务中的所有其他容器。 这类似于将 |
覆盖比例 | 为每个服务设置要启动的容器数。 此选项会覆盖 这类似于将 |
重新创建依赖项 | 启动服务时重新创建依赖容器。 这类似于将 |
重新创建匿名卷 | 重新创建匿名卷,而不是从以前的容器中检索数据。 这类似于在命令中使用 |
移除孤儿 | 删除 Docker Compose 文件中未定义的服务的容器。 这类似于将 |
开始 | 配置要启动的服务:
|
附加到 | 配置显示输出流的容器:
|
重新创建容器 | 配置要停止并用新容器替换的容器:
|
建造 | 在启动容器之前配置要构建的图像:
|
停止容器 | 配置如何停止服务中的容器。默认情况下,Docker Compose 不会停止服务中的其他容器。您必须手动停止它们。 但是,如果服务中的任何容器停止,您可以选择停止所有容器。这类似于将 |
与容器交互
创建的容器列在服务工具窗口中。默认情况下,服务工具窗口会显示所有容器,包括未运行的容器。要从列表中隐藏已停止的容器,请单击工具栏中的 ,选择Docker,然后单击已停止的容器以移除复选框。
选择容器时,默认可以查看以下选项卡:
构建日志 | 显示在为容器构建映像时由相应的Docker 运行配置生成的部署日志。 |
日志 | 显示来自容器标准输出流的日志消息: 有关更多信息,请参阅docker logs命令参考。 |
特性 | 显示容器的名称和 ID,以及对应图像的 ID。 要将任何属性复制到剪贴板,请选择它并单击。 您还可以为容器指定一个新名称,然后单击Save。如果容器正在运行,它将停止并获得一个新名称。要使用新名称运行容器,请选择它并单击。但是,用于创建此容器的Docker 运行配置中的名称不会更改。 |
环境变量 | 显示为容器配置的环境变量。 要添加新变量,请单击。要删除变量,请选择它并单击。要编辑现有变量,请选择它并单击。 当您进行任何更改并单击Save时,如果容器正在运行,它将停止。要使用新变量集运行此容器,请选择它并单击。但是,这些变量在用于创建此容器的Docker 运行配置中不会更改。 |
端口绑定 | 显示为此容器配置的端口绑定。 选择发布所有端口以将所有公开的容器端口绑定到主机上的随机空闲端口。要添加新的端口绑定,请单击。要删除端口绑定,请选择它并单击。要编辑现有端口绑定,请选择它并单击。 当您进行任何更改并单击Save时,如果容器正在运行,它将停止。要使用新的端口绑定运行此容器,请选择它并单击。但是,这些绑定不会在用于创建此容器的Docker 运行配置中更改。 |
卷绑定 | 显示为此容器配置的卷绑定。 要添加新的卷绑定,请单击。要删除卷绑定,请选择它并单击。要编辑现有的卷绑定,请选择它并单击。 当您进行任何更改并单击Save时,如果容器正在运行,它将停止。要使用新的卷绑定运行此容器,请选择它并单击。但是,这些绑定不会在用于创建此容器的Docker 运行配置中更改。 |
文件 | 浏览正在运行的容器中的文件。 选择任何文件并单击以在编辑器中远程打开它或单击以创建文件的副本作为草稿。 |
在正在运行的容器中执行命令
在“服务”工具窗口中,右键单击容器名称,然后单击Exec。
在Run Command in Container弹出窗口中,单击Create and Run以创建并执行新命令。
或者,您可以选择之前运行的命令之一。
在Exec对话框中,键入命令并单击OK。例如:
ls /tmp
列出/tmp目录的内容
mkdir /tmp/my-new-dir
在/tmp目录中创建my-new-dir目录
/bin/bash
开始一个
bash
会话
有关详细信息,请参阅docker exec命令参考。
查看有关正在运行的容器的详细信息
在服务工具窗口中,右键单击容器名称,然后单击检查。
输出在检查选项卡上呈现为 JSON 数组。
有关更多信息,请参阅docker inspect命令参考。
查看容器中运行的进程
在“服务”工具窗口中,右键单击容器名称,然后单击“显示进程”。
输出在Processes选项卡上呈现为 JSON 数组。
有关详细信息,请参阅docker top命令参考。
将控制台附加到可执行容器的输出
在服务工具窗口中,右键单击容器,然后单击附加。
控制台附加到在容器内运行的ENTRYPOINT进程的输出,并在“附加控制台”选项卡上呈现。
有关详细信息,请参阅docker attach命令参考。
码头工人撰写
Docker Compose用于运行多容器应用程序。例如,您可以将 Web 服务器、后端数据库和应用程序代码作为单独的服务运行。如有必要,可以通过添加更多容器来扩展每个服务。这使您能够在类似于生产的动态环境中执行高效的开发和测试。
运行多容器 Docker 应用程序
在一个或多个Docker Compose 文件中定义必要的服务。
从主菜单中,选择
。单击,指向Docker,然后单击Docker-compose。
指定定义要在容器中运行的服务的 Docker Compose 文件。如有必要,您可以限制此配置将启动的服务,指定环境变量,并在启动相应容器之前强制构建映像(即添加docker-compose up命令的
--build
选项)。有关可用选项的更多信息,请参阅Docker-compose。
单击确定保存 Docker Compose 运行配置,在主工具栏中选择它并单击或按Shift+F10开始配置。
当 Docker Compose 运行您的多容器应用程序时,您可以使用服务工具窗口来控制特定服务并与容器交互。容器列在专用Compose节点下,而不是在Containers节点下(仅适用于独立容器)。
扩展服务
在服务工具窗口中,选择要缩放的服务,然后从上下文菜单中单击或选择缩放。
指定此服务需要多少个容器,然后单击OK。
停止正在运行的服务
在服务工具窗口中,选择服务并从上下文菜单中单击或选择停止。
停止所有正在运行的服务
在“服务”工具窗口中,选择“撰写”节点,然后从上下文菜单中单击或选择“停止”。
关闭您的应用程序
在服务工具窗口中,选择Compose节点,然后从上下文菜单中单击或选择Down 。
这将停止并删除容器以及所有相关的网络、卷和图像。
打开用于运行应用程序的 Docker Compose 文件
在服务工具窗口中,右键单击Compose节点或嵌套服务节点,然后单击上下文菜单中的Jump to Source或按F4。
如果环境文件与Docker Compose 文件位于同一目录中,则Docker-compose运行配置将识别带有.env后缀的环境文件。
故障排除
如果您遇到以下问题之一,请尝试相应的建议解决方案。
无法连接到 Docker
确保:
Docker 正在运行。
您的Docker 连接设置正确。
如果您使用的是 Docker for Windows,请在 Docker 设置的“常规”部分中启用Expose daemon on tcp://localhost:2375 without TLS选项。
如果您使用的是 Docker Toolbox,请确保 Docker Machine 正在运行,并且在Settings/Preferences对话框中正确指定了其可执行文件。 。Ctrl+Alt+S
下的无法拉取图像
当您尝试拉取图像时,会显示以下消息:
在这种情况下,请转到<your_home_dir>/.docker目录并删除config.json文件。
无法使用 Docker 撰写
确保 Docker Compose 可执行文件在设置/首选项对话框中的 Ctrl+Alt+S下正确指定。 。
无法使用端口绑定
确保暴露相应的容器端口。在Dockerfile中使用EXPOSE命令。
无法将现有 Dockerfile 或 Docker Compose 文件与相关类型相关联
当您创建新的 Dockerfile 或 Docker 组合文件时,PhpStorm 会自动识别它们的类型。如果文件类型从其名称中不明显,系统将提示您手动选择文件类型。要将现有文件与正确的类型关联,请在项目工具窗口中右键单击它,然后从上下文菜单中选择与文件类型关联。
如果禁用与文件类型关联操作,这可能意味着文件名已注册为当前文件类型的模式。例如,如果您有一个自定义名称的 Dockerfile,该名称被识别为文本文件,则无法将其与 Dockerfile 类型相关联。要删除文件类型模式,请执行以下操作:
按Ctrl+Alt+S打开 IDE 设置并选择Editor | 文件类型。
选择相关的文件类型(在本例中为:Text)并删除带有文件名的模式。
单击确定以应用更改。
现在您应该能够使用关联菜单中的文件类型设置正确的文件类型。
限制
Docker插件有一定的限制和错误,但 JetBrains 一直在努力对其进行修复和改进。您可以在我们的错误跟踪系统中找到Docker 问题列表,并投票选出对您影响最大的问题。您还可以提交自己的错误和功能请求。