跳至主要内容

在 Windows 上安装 Podman 桌面和 Podman

安装 Podman 桌面

要安装 Podman 桌面

  1. 下载 Windows 安装程序.

  2. 要启动 Podman 桌面安装程序,请打开下载的文件。

    Podman Desktop Setup installing

替代安装方法

  • 静默 Windows 安装程序
  • Chocolatey
  • Scoop
  • Winget

静默 Windows 安装程序

  1. 下载 Windows 安装程序.

  2. 要在没有用户交互的情况下安装,请在命令提示符中使用静默标志 ` /S` 运行 Windows 安装程序

    > podman-desktop-1.6.4-setup-x64.exe /S

Chocolatey

  1. 安装 Chocolatey 包管理器

  2. 从终端安装

    > choco install podman-desktop

用于 Windows 的 Scoop 包管理器

  1. 安装 Scoop 包管理器.

  2. 从终端安装

    > scoop bucket add extras
    > scoop install podman-desktop

Winget

  1. 安装用于 Windows 的 Winget 包管理器.

  2. 从终端安装

    > winget install -e --id RedHat.Podman-Desktop

安装 Podman

在 Windows 上,运行 Podman 容器引擎需要在虚拟机上运行 Linux 发行版。

使用 WSL2 作为机器提供程序

Podman 桌面创建一个 适用于 Linux 的 Windows 子系统版本 2 (WSL 2) 虚拟机:Podman 机器。

主要优势是

  • 易于使用。
  • WSL 2 本地虚拟化性能。

检查您的环境是否具有

要安装 Podman 机器

  1. 要准备您的系统,请启用 WSL 功能,但不要安装默认的 Ubuntu Linux 发行版。

    打开命令提示符,然后运行:。

    > wsl --install --no-distribution
  2. 重启您的计算机。

  3. 仪表板屏幕显示: 需要设置 Podman

    Podman needs set up screen

    单击设置按钮。

    查看并验证所有确认屏幕以设置 Podman 机器。

    在必要时,请按照说明安装系统先决条件。

要验证 Podman 是否已设置

  • 仪表板中,Podman 磁贴显示Podman 正在运行

    Podman is running screen

使用 Hyper-V 作为机器提供程序

为了告诉 podman 在创建 podman 机器时使用 Hyper-V,需要设置以下一项:

  • 环境变量:在终端会话或作为系统环境变量中设置 CONTAINERS_MACHINE_PROVIDER=hyperv。 或者
  • 在创建机器之前,配置 containers.conf 文件属性提供程序,该文件可能放置在 `AppData` 下:C:\Users\myuser\AppData\Roaming\containers\containers.conf
cat C:\Users\myuser\AppData\Roaming\containers\containers.conf
[machine]

provider = "hyperv"
...

成功的设置应该在启动日志中显示类似这样的字符串

time="2023-05-09T21:16:08+03:00" level=debug msg="Using Podman machine with `hyperv` virtualization provider"

然后完整的示例可能看起来像这样,以管理员权限打开 powershell

PS C:\Windows\system32> $env:CONTAINERS_MACHINE_PROVIDER = 'hyperv'
PS C:\Windows\system32> $env:CONTAINERS_MACHINE_PROVIDER
hyperv

# or alternatively
# [System.Environment]::SetEnvironmentVariable('CONTAINERS_MACHINE_PROVIDER','hyperv')
# [System.Environment]::GetEnvironmentVariable('CONTAINERS_MACHINE_PROVIDER)

podman machine init
podman machine start

下一步