Podman 故障排除
Podman 桌面未找到您的 Podman 安装
问题
要安装 Podman,您可以选择多种安装方法
- 从 Podman 桌面安装。
- Podman 安装程序。
- 特定于操作系统的安装程序:Brew、Chocolatey、Scoop、Winget。
- 受限环境的安装程序。
Podman 桌面可能无法检测到您的 Podman 安装。
解决方案
尝试按照以下步骤验证您的 Podman 安装。在执行每个步骤后,退出并重新启动 Podman 桌面,以确保它可以检测到您的 Podman 安装。
-
在终端中,验证您可以访问 Podman CLI,并验证版本。
$ podman version
-
使用您的安装方法将 Podman 更新到最新的稳定版本。
-
在安装日志中搜索错误(如果您的安装方法提供了日志)。
-
使用相同的安装方法重新安装 Podman。
-
使用 Podman 桌面安装程序重新安装 Podman。
-
使用 Podman 安装程序重新安装 Podman。
-
使用其他方法重新安装 Podman。
Podman 桌面无法创建 Podman 机器
问题
Podman 桌面可能无法创建 Podman 机器。
解决方法
-
在终端中,使用 Podman CLI 创建 Podman 机器
$ podman machine init
-
如果创建失败,请仔细阅读日志以继续进行故障排除。
Podman 桌面无法启动 Podman 机器
问题
Podman 桌面可能无法启动 Podman 机器。
解决方法
-
在终端中,使用 Podman CLI 启动 Podman 机器
$ podman machine start
-
如果创建失败,请仔细阅读日志以继续进行故障排除。
Podman 桌面无法列出镜像或容器
Podman 桌面可能无法列出镜像或容器。
先决条件
- 需要 Podman 4.1.0 或更高版本。Podman 桌面要求 Podman 机器在主机上公开套接字(对于 macOS),以及在命名管道上公开套接字(对于 Windows)
步骤
-
在 Windows 和 macOS 上:在终端中,验证至少有一个 Podman 机器正在运行
$ podman machine list
-
要验证您可以通过使用 CLI 连接,在终端中,运行 `hello` 容器
$ podman run quay.io/podman/hello
Podman 桌面无法列出容器
问题
即使后台有活动容器在运行,Podman 桌面也可能显示“无容器”,如下所示。
解决方案
-
停止并重新启动 Podman 桌面。
-
在 Podman 桌面中,重新启动 Podman 机器。
-
在终端中,重新启动 Podman 机器
$ podman machine stop
$ podman machine start -
如果前面的步骤对您不起作用,请删除您的 Podman 机器,并创建一个新的机器
$ podman machine rm
$ podman machine init -
如果前面的步骤对您不起作用,请删除您的 Podman 配置文件,并创建一个新的 Podman 机器
$ rm -rf ~/.local/share/containers/podman
$ rm -rf ~/.config/containers/
$ podman machine init
Podman 桌面无法从有根 Podman 机器显示镜像或容器
有根 Podman 机器的配置取决于 Podman 机器默认连接。默认连接可以通过外部事件修改,或者在创建新的 Podman 机器时修改。然后,Podman 桌面可能会以无根模式重新连接,并无法显示镜像或容器。
解决方法
-
验证 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 机器时,才继续执行接下来的步骤。
-
将 Podman 机器设置为有根模式
$ podman machine set --rootful
-
重新启动 Podman 机器
$ podman machine stop
$ podman machine start -
验证 Podman 默认连接是否指向有根连接
$ podman system connection ls
仅当默认连接不是有根连接到您的 Podman 机器时,才继续执行接下来的步骤。
-
将 Podman 机器(例如 `podman-machine-default`)设置为有根模式
$ podman system connection default podman-machine-default-root
-
重新启动 Podman 机器
$ podman machine stop
$ podman machine start
验证
-
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 桌面也在同时运行。
解决方案
-
停止 Docker Desktop(如果已安装)。
-
在 macOS 上,运行 `podman-mac-helper` 二进制文件。
$ sudo podman-mac-helper install
-
重启 Podman 机器以重新创建和激活默认的 Docker 套接字路径。
注意:如果 Docker Desktop 重新启动,它会自动重新别名默认的 Docker 套接字位置,并且 Podman 兼容性警告将重新出现。
卸载 Podman Desktop 会保留旧的配置数据
问题
卸载 Podman Desktop 后,即使它对于全新安装不再需要,配置数据也会保留。
解决方案
删除 Podman Desktop 配置
- 转到 `$HOME/.local/share/containers` 目录,其中 `$HOME` 表示当前用户的家目录。
- 删除 `podman-desktop` 文件夹。
删除 Podman 配置
Podman 将其配置文件存储在 `$HOME/.config/containers` 目录中。删除 Podman 配置的可用选项
- 使用 CLI
- 运行 `podman machine reset` 命令。
- 使用 UI
- 点击状态栏中的“疑难解答”图标。
- 点击“清理/清除数据”按钮以删除引擎中的所有资源。