Podman
最后修改时间:2023 年 9 月 5 日Podman是一个无守护程序容器管理器,可以以 root 或无 root 模式运行容器。Podman 命令与 Docker 完全兼容,因此您可以将其中一个替换为另一个:alias docker=podman
。
Podman 核心运行时环境只能在 Linux 操作系统上运行。但是,您可以使用其他操作系统的远程客户端来管理运行 Podman 的计算机上的容器。本主题介绍 IntelliJ IDEA 如何充当 Podman 的远程客户端。
启用 Docker 插件
此功能依赖于Docker插件,该插件默认在 IntelliJ IDEA 中捆绑并启用。如果相关功能不可用,请确保您没有禁用该插件。
笔记
默认情况下,Docker 插件仅在 IntelliJ IDEA Ultimate 中可用。对于 IntelliJ IDEA Community Edition,您需要按照安装插件中所述安装 Docker 插件。
按打开 IDE 设置,然后选择插件。CtrlAlt0S
打开“已安装”选项卡,找到Docker插件,然后选中插件名称旁边的复选框。
您可以为 Podman API 调用创建监听服务。由于 Podman API 与 Docker Engine API 相同,因此您可以通过 TCP 将 IntelliJ IDEA 连接到 Podman 服务,就像连接到 Docker Engine API 一样:
按打开 IDE 设置,然后选择“构建”、“执行”、“部署”| Docker。CtrlAlt0S
单击以添加 Docker 配置。
选择TCP 套接字并在Engine API URL中指定 Podman API 服务 URL 。
有关更多信息,请参阅Docker 连接设置。
教程:在虚拟机中运行 Podman
如果您使用的是 Windows 或 macOS,则需要单独的 Linux 计算机来运行 Podman。实现这一目标的更简单方法之一是使用 Linux 虚拟机运行 Vagrant box。本教程介绍如何在 Linux 上的 Vagrant 盒子上运行 Podman,通过正确的转发在其上启动 Podman API 服务,并从 IntelliJ IDEA 连接到 API。
这是您需要的:
使用 Podman 创建并运行 Vagrant 盒子
使用以下代码创建Vagrantfile :
Vagrant.configure("2") do |config| config.vm.box = "fedora/32-cloud-base" config.vm.provider "virtualbox" do |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 框不可用,Vagrant 将下载它)。它还在计算机上安装 Podman,并将主机端口 12979 转发到机器上的访客端口 2979。我们将使用端口 12979 从主机上的 IntelliJ IDEA 连接到 Podman API。
从创建 Vagrantfile 的目录运行 Vagrant 框:
$vagrant up
启动Podman API服务
带有 Fedora 的 Vagrant 盒子启动后,通过 SSH 进入它:
$vagrant ssh
在虚拟机中运行以下命令:
[vagrant@localhost ~] $podman system service --time=0 tcp:0.0.0.0:2979
此命令将创建一个侦听服务,该服务将应答 Vagrant 框中端口号 2979 上的 Podman API 调用。这是从主机转发端口号 12979 的地方。除非您手动终止会话,否则会话不会过期。如果要在有限的时间内打开服务,请更改 的值
--time
以指定超时(以秒为单位)。
从 IntelliJ IDEA 连接到 Podman
按打开 IDE 设置,然后选择“构建”、“执行”、“部署”| Docker。CtrlAlt0S
单击以添加 Docker 配置。
选择TCP 套接字并在Engine API URL :中指定 Podman API 服务 URL
tcp://localhost:12979
。如果一切正确,您应该在页面底部看到“连接成功” 。
在“服务”工具窗口(“视图”|“工具窗口”|“服务”或)中双击已配置的Podman连接。Alt08
IntelliJ IDEA 将像调用 Docker Engine API 一样调用此 URL,Vagrant 将使用 Podman 将它们转发到虚拟机内的端口 2979,Podman API 服务将应答这些调用。
IntelliJ IDEA 仅为 Podman 提供基本支持。如果某些内容无法正常工作或不符合您的预期,请在YouTrack上提出问题。要查看与 Podman 支持相关的所有现有问题,请按tag:podman进行过滤。
感谢您的反馈意见!