PhpStorm 2021.3 Help

波德曼

Podman是一个无守护程序容器管理器,可以以 root 或无 root 模式运行容器。Podman 命令与 Docker 完全兼容,因此您可以将一个替换为另一个:alias docker=podman.

Podman 核心运行时环境只能在 Linux 操作系统上运行。但是,您可以使用其他操作系统的远程客户端来管理运行 Podman 的机器上的容器。本主题介绍 PhpStorm 如何充当 Podman 的远程客户端。

您可以为 Podman API 调用创建监听服务,该服务与 Docker Engine API 相同。这使您能够通过 TCP 将 PhpStorm 连接到 Podman 服务,就像连接到 Docker 引擎 API 一样:

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

  2. 单击添加按钮以添加 Docker 配置。

  3. 选择TCP socket并在Engine API URL中指定 Podman API 服务URL 。

有关更多信息,请参阅Docker 连接设置

教程:在虚拟机中运行 Podman

如果您使用的是 Windows 或 macOS,则需要一台单独的 Linux 机器来运行 Podman。实现此目的的一种更简单的方法是使用 Linux 虚拟机运行 Vagrant 机器。本教程描述了如何在带有 Linux 的 Vagrant 机器上运行 Podman,通过正确的转发在其上启动 Podman API 服务,并从 PhpStorm 连接到 API。

这是您需要的:

使用 Podman 创建和运行 Vagrant 盒子

  1. 使用以下代码创建一个Vagrantfile :

    Vagrant.configure("2") 做 |config| config.vm.box = "fedora/32-cloud-base" config.vm.provider "virtualbox" 做 |vb| vb.memory = "1024" end config.vm.provision "shell", inline: "yum install -y podman" config.vm.network "forwarded_port", guest: 2979, host: 12979, auto_correct: true end

    这个 Vagrantfile 使用 Fedora 配置一个虚拟机并在 VirtualBox 中运行它(如果 Fedora box 不可用,Vagrant 将下载它)。它还在机器上安装 Podman,并将主机端口 12979 转发到盒子上的访客端口 2979。我们将使用端口 12979 从主机上的 PhpStorm 连接到 Podman API。

  2. 从创建 Vagrantfile 的目录中运行 Vagrant 框:

    流浪起来

启动 Podman API 服务

  1. 在带有 Fedora 的 Vagrant 盒子启动后,通过 SSH 进入它:

    流浪者 ssh
  2. 在虚拟机中运行以下命令:

    podman 系统服务 --time=0 tcp:0.0.0.0:2979

    此命令将创建一个侦听服务,该服务将响应 Vagrant 框内端口号 2979 上的 Podman API 调用。这是从主机转发端口号 12979 的地方。除非您手动终止会话,否则会话不会过期。如果要在有限的时间内打开服务,请更改 的值--time以指定超时时间(以秒为单位)。

从 PhpStorm 连接到 Podman

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

  2. 单击添加按钮以添加 Docker 配置。

  3. 选择TCP socket并在Engine API URL :中指定 Podman API 服务 URL tcp://localhost:12979

    如果一切正确,您应该会在页面底部看到连接成功。

  4. 双击服务工具窗口中配置的Podman连接(查看 | 工具窗口 | 服务或)。Alt+8

PhpStorm 会像调用 Docker Engine API 一样调用这个 URL,Vagrant 会通过 Podman 将它们转发到虚拟机内部的 2979 端口,Podman API 服务会响应这些调用。

PhpStorm 仅提供对 Podman 的基本支持。如果某些东西不起作用或不像您预期​​的那样,请在YouTrack上提出问题。要查看与 Podman 支持相关的所有现有问题,请按tag:podman过滤。

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