跳至主要内容

Podman 故障排除

Podman 桌面未找到您的 Podman 安装

问题

要安装 Podman,您可以选择多种安装方法

  • 从 Podman 桌面安装。
  • Podman 安装程序。
  • 特定于操作系统的安装程序:Brew、Chocolatey、Scoop、Winget。
  • 受限环境的安装程序。

Podman 桌面可能无法检测到您的 Podman 安装。

解决方案

尝试按照以下步骤验证您的 Podman 安装。在执行每个步骤后,退出并重新启动 Podman 桌面,以确保它可以检测到您的 Podman 安装。

  1. 在终端中,验证您可以访问 Podman CLI,并验证版本。

    $ podman version
  2. 使用您的安装方法将 Podman 更新到最新的稳定版本。

  3. 在安装日志中搜索错误(如果您的安装方法提供了日志)。

  4. 使用相同的安装方法重新安装 Podman。

  5. 使用 Podman 桌面安装程序重新安装 Podman。

  6. 使用 Podman 安装程序重新安装 Podman。

  7. 使用其他方法重新安装 Podman。

Podman 桌面无法创建 Podman 机器

问题

Podman 桌面可能无法创建 Podman 机器。

解决方法

  1. 在终端中,使用 Podman CLI 创建 Podman 机器

    $ podman machine init
  2. 如果创建失败,请仔细阅读日志以继续进行故障排除。

Podman 桌面无法启动 Podman 机器

问题

Podman 桌面可能无法启动 Podman 机器。

解决方法

  1. 在终端中,使用 Podman CLI 启动 Podman 机器

    $ podman machine start
  2. 如果创建失败,请仔细阅读日志以继续进行故障排除。

Podman 桌面无法列出镜像或容器

Podman 桌面可能无法列出镜像或容器。

先决条件

  • 需要 Podman 4.1.0 或更高版本。Podman 桌面要求 Podman 机器在主机上公开套接字(对于 macOS),以及在命名管道上公开套接字(对于 Windows)

步骤

  1. 在 Windows 和 macOS 上:在终端中,验证至少有一个 Podman 机器正在运行

    $ podman machine list
  2. 要验证您可以通过使用 CLI 连接,在终端中,运行 `hello` 容器

    $ podman run quay.io/podman/hello

Podman 桌面无法列出容器

问题

即使后台有活动容器在运行,Podman 桌面也可能显示“无容器”,如下所示。 img

解决方案

  1. 停止并重新启动 Podman 桌面。

  2. 在 Podman 桌面中,重新启动 Podman 机器。

  3. 在终端中,重新启动 Podman 机器

    $ podman machine stop
    $ podman machine start
  4. 如果前面的步骤对您不起作用,请删除您的 Podman 机器,并创建一个新的机器

    $ podman machine rm
    $ podman machine init
  5. 如果前面的步骤对您不起作用,请删除您的 Podman 配置文件,并创建一个新的 Podman 机器

    $ rm -rf ~/.local/share/containers/podman
    $ rm -rf ~/.config/containers/
    $ podman machine init

Podman 桌面无法从有根 Podman 机器显示镜像或容器

有根 Podman 机器的配置取决于 Podman 机器默认连接。默认连接可以通过外部事件修改,或者在创建新的 Podman 机器时修改。然后,Podman 桌面可能会以无根模式重新连接,并无法显示镜像或容器。

解决方法

  1. 验证 Podman 默认连接是否是有根连接到您的 Podman 机器

    $ podman system connection ls

    默认连接在行的末尾有 `true`。

    有根连接具有 `-root` 名字后缀,以及 `ssh://root@` URI 前缀。

    示例默认有根连接

    Name                        URI                                                         Identity                                      Default
    podman-machine-default ssh://[email protected]:54826/run/user/1000/podman/podman.sock c:\Users\username\.ssh\podman-machine-default false
    podman-machine-default-root ssh://[email protected]:54826/run/podman/podman.sock c:\Users\username\.ssh\podman-machine-default true

    示例默认无根连接

    Name                        URI                                                         Identity                                      Default
    podman-machine-default ssh://[email protected]:54826/run/user/1000/podman/podman.sock c:\Users\username\.ssh\podman-machine-default true
    podman-machine-default-root ssh://[email protected]:54826/run/podman/podman.sock c:\Users\username\.ssh\podman-machine-default false

    仅当默认连接不是有根连接到您的 Podman 机器时,才继续执行接下来的步骤。

  2. 将 Podman 机器设置为有根模式

    $ podman machine set --rootful
  3. 重新启动 Podman 机器

    $ podman machine stop
    $ podman machine start
  4. 验证 Podman 默认连接是否指向有根连接

    $ podman system connection ls

    仅当默认连接不是有根连接到您的 Podman 机器时,才继续执行接下来的步骤。

  5. 将 Podman 机器(例如 `podman-machine-default`)设置为有根模式

    $ podman system connection default podman-machine-default-root
  6. 重新启动 Podman 机器

    $ podman machine stop
    $ podman machine start

验证

  1. Podman 默认连接是有根连接到您的 Podman 机器

    $ podman system connection ls

有关 Docker 兼容性模式的警告

问题

运行 Podman 提供程序时,仪表板上会显示有关 Docker 兼容性模式的警告

⚠️ Docker Socket Compatibility: Podman is not emulating the default Docker socket path: '/var/run/docker.sock'. Docker-specific tools may not work. See troubleshooting page on podman-desktop.io for more information.

这可能出现在以下情况下:

  • Docker 套接字未正确挂载。
  • Docker 桌面也在同时运行。

解决方案

  1. 停止 Docker Desktop(如果已安装)。

  2. 在 macOS 上,运行 `podman-mac-helper` 二进制文件。

    $ sudo podman-mac-helper install
  3. 重启 Podman 机器以重新创建和激活默认的 Docker 套接字路径。

注意:如果 Docker Desktop 重新启动,它会自动重新别名默认的 Docker 套接字位置,并且 Podman 兼容性警告将重新出现。

卸载 Podman Desktop 会保留旧的配置数据

问题

卸载 Podman Desktop 后,即使它对于全新安装不再需要,配置数据也会保留。

解决方案

删除 Podman Desktop 配置

  1. 转到 `$HOME/.local/share/containers` 目录,其中 `$HOME` 表示当前用户的家目录。
  2. 删除 `podman-desktop` 文件夹。

删除 Podman 配置

Podman 将其配置文件存储在 `$HOME/.config/containers` 目录中。删除 Podman 配置的可用选项

  • 使用 CLI
    • 运行 `podman machine reset` 命令。
  • 使用 UI
    1. 点击状态栏中的“疑难解答”图标。
    2. 点击“清理/清除数据”按钮以删除引擎中的所有资源。