Docker 连接设置
指定从 PhpStorm 访问 Docker Engine API 的设置。 有关使用 Docker 集成 PhpStorm 的更多信息,请参阅 Docker。
启用 Docker 插件
此功能依赖于 Docker 插件,该插件在 PhpStorm 中默认捆绑并启用。 如果相关功能不可用,请确保没有禁用该插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Docker插件,并在插件名称旁边选择复选框。
您可以指定 PhpStorm 用于与 Docker 守护进程交互的 Docker CLI 可执行文件的路径。
PhpStorm 应该能够自动检测到默认安装位置的 Docker CLI 可执行文件。 但是,如果您在自定义位置安装了 Docker,您可能需要手动指定路径。
- Docker 可执行文件
指定 Docker CLI 可执行文件的基本路径。 默认位置:
macOS 和 Linux
/usr/local/bin/docker
Windows
C:\Program Files\Docker\Docker\resources\bin\docker.exe
- Docker Compose 可执行文件
指定 Docker Compose 独立可执行文件的路径。 默认情况下,Compose V2 集成到 Docker CLI 平台中,并通过
docker compose命令使用相同的可执行文件进行 Docker Compose。如果您使用的是 Compose V1,主要的 Docker 可执行文件将无法用于 Docker Compose。 在这种情况下,您需要指定
docker-compose的路径。 欲了解更多信息,请参见 docker-compose vs docker compose。
您可以添加多个 Docker 配置,每个配置代表与单独的 Docker 守护进程的连接:
Docker
添加新的 Docker 配置。
删除 Alt+Delete
删除所选的 Docker 配置。
对于每个 Docker 配置,请指定一个名称,并根据操作系统选择连接类型:
- Docker for Windows
当您在 Windows 上使用 Docker Desktop时,这是推荐的选项。
- Docker for Mac
这是在 macOS 上使用 Docker Desktop 时的推荐选项。
- Unix 套接字
在 Linux 上使用 Docker Desktop 时,这是推荐的选项。
- TCP 套接字
手动配置 Docker Engine API 的 URL。
在 引擎API URL 字段中,您可以指定到远程 Docker 守护进程的 TCP 连接或任何 Docker 套接字路径,包括自定义本地套接字。 例如,在 rootless mode ,Docker daemon 通过具有唯一标识符的
systemd用户服务运行,因此 socket path 将类似于unix:///run/user/1000/docker.sock。默认情况下,在 macOS 和 Linux 上,Docker 守护程序会在 Unix 套接字
unix:///var/run/docker.sock上监听 Docker Engine API 请求。如果您使用 Docker Desktop for Windows,您可以通过命名管道在
npipe:////./pipe/docker_engine或 TCP 套接字在tcp://localhost:2375连接到 Docker Engine。您还可以连接到 Podman ,其 API 等同于 Docker Engine API。 更多信息请参阅 Podman。
- SSH
通过现有的 SSH 配置 连接到远程 Docker daemon 或创建一个新的连接。
- WSL
连接到在 Windows Subsystem for Linux (WSL) 中运行的 Docker 守护进程。
- Minikube
如果您正在运行 minikube ,请选择此选项以自动检测并连接到 minikube 的 Docker Engine 环境。
如果 PhpStorm 无法检测到 minikube 或者它在远程运行,请运行
minikube docker-env命令以获取必要的连接信息,并在 TCP socket 下设置以下内容:引擎API URL:
DOCKER_HOST的值(使用https作为协议而不是tcp)证书文件夹:
DOCKER_CERT_PATH的值
Windows 和 macOS 主机的虚拟机路径映射
Docker Engine 在 Linux 上本地运行,因此您可以将 Linux 主机的目录和文件直接挂载到容器中。 在 Windows 或 macOS 上的 Docker 主机使用一个轻量级的虚拟机和 Linux 来运行 Docker Engine。 请使用 Docker 连接配置选项下方的表格来配置本地文件系统和运行 Docker Engine 的虚拟机之间的映射。
添加 Alt+Insert
添加新的映射。
移除 Ctrl+Y
删除所选映射。
编辑 Enter
编辑所选映射。
- 虚拟机路径
用于运行此 Docker Engine 的虚拟机中目录的路径。
- 本地路径
您要映射到虚拟机中相应目录的本地文件夹路径。 您将无法将此文件夹外的任何内容绑定到此 Docker Engine 运行的容器上。
例如,假设您将所有 bind-mount 到 Docker 容器的文件保存在 /Users/jsmith/docker-share 。 您可以将此目录映射到虚拟机上的 /dockerShare 以进行 Docker Engine 连接。 这个 Docker Engine 将有效地将文件绑定挂载到容器中从 /dockerShare ,因为这是它可以访问您从 /Users/jsmith/docker-share 映射的文件的地方。
这不会对您作为运行容器的用户产生影响,因为您仍然可以配置绑定挂载和卷,作为主机机器上的某些路径与容器内部某些路径之间的映射。 然而,您无法挂载到映射到虚拟机的目录之外的任何内容。
假设您运行一个容器并将带有应用程序 artifacts 的目录挂载在主机上的 /Users/jsmith/docker-share/out 到容器中的 /usr/local/tomcat/webapps 。 在这种情况下,Docker Engine 实际上会挂载 /dockerShare/out ,因为它可以通过虚拟机映射访问您的文件。

有关卷和绑定挂载的更多信息,请参阅 在 Docker 中管理数据。