自定义 Docker 兼容性
通过 Podman Desktop,您可以自定义 Docker 兼容性功能。如果您想在 Podman 引擎上运行 Docker 应用程序,可以启用此功能。
- Windows
- macOS
- Linux
Podman 机器与系统套接字之间的绑定是未知的。因此,Podman Desktop 仅在 Docker 兼容性页面上显示服务器信息。
Podman Desktop 使用 podman-mac-helper
实用程序自动将 Docker 套接字链接到 Podman 机器。该实用程序提供了一个兼容层,让您可以:
- 在 Podman 引擎上运行 Docker 命令。
- 让您的工具(如 Maven 或 Testcontainers)无需重新配置即可与 Podman 通信。
Podman Desktop 在 Docker 兼容性页面上提供了模拟 Docker 套接字的 Podman 机器信息。点击 Podman 详情 图标可查看 Podman 机器的详细信息。
Podman 机器与系统套接字之间的绑定是未知的。因此,Podman Desktop 仅在 Docker 兼容性页面上显示服务器信息。
启用 Docker 兼容性
先决条件
- Windows
- macOS
- Linux
步骤
- 前往 Settings > Preferences > Docker Compatibility,然后点击切换按钮。
一个 Docker 兼容性部分将被添加到 Settings 列表中。
验证
执行以下任一步骤:
-
运行以下命令检查输出是否返回 Podman 版本而不是 Docker 版本:
$ docker info --format=json | jq -r .ServerVersion
-
运行
docker context list
命令,检查 Docker CLI 上下文是否设置为默认值npipe:////./pipe/docker_engine
。
步骤
Docker 套接字兼容模式默认是启用的。但是,如果您禁用了 Docker 套接字并想重新启用它,您必须启用 第三方 Docker 工具兼容性 (Third-Party Docker Tool Compatibility) 设置。
- 前往 Settings > Preferences > Docker Compatibility,然后点击切换按钮。
一个 Docker 兼容性部分将被添加到 Settings 列表中。
- 在“设置”中点击 Docker Compatibility。Docker 兼容性页面将打开。
- 在 第三方 Docker 工具兼容性 (Third-Party Docker Tool Compatibility) 设置中点击 Enable (启用)。
- 出现提示时,输入您的机器密码。将会弹出一个操作成功的通知。
- 点击 OK (确定)。一个通知会提示您重启 Podman 机器。
- 点击 Yes (是)。
验证
执行以下任一步骤:
-
检查 Docker 套接字是否是 Podman 套接字的符号链接:
$ ls -la /var/run/docker.sock
输出指向一个
podman.sock
文件,如下所示:/var/run/docker.sock -> /Users/username/.local/share/containers/podman/machine/podman.sock
-
运行以下命令检查输出是否返回 Podman 版本而不是 Docker 版本:
$ curl -s --unix-socket /var/run/docker.sock "http://v1.41/info" | jq -r .ServerVersion
-
运行
docker context list
命令,检查 Docker CLI 上下文是否设置为unix:///var/run/docker.sock
。
禁用 Docker 兼容性
先决条件
- Windows
- macOS
- Linux
步骤
-
前往 Settings > Preferences > Docker Compatibility,然后点击切换按钮。
Docker 兼容性部分将从 Settings 列表中移除。
验证
-
运行以下命令检查输出是否返回 Docker 版本而不是 Podman 版本:
$ docker info --format=json | jq -r .ServerVersion
步骤
- 在“设置”中点击 Docker Compatibility。Docker 兼容性页面将打开。
- 在 第三方 Docker 工具兼容性 (Third-Party Docker Tool Compatibility) 设置中点击 Disable (禁用)。
- 出现提示时,输入您的机器密码。将会弹出一个操作成功的通知。
- 点击 OK (确定)。一个通知会提示您重启 Podman 机器。
- 点击 Yes (是)。
- 前往 Settings > Preferences > Docker Compatibility,然后点击切换按钮。Docker 兼容性部分将从 Settings 列表中移除。
验证
执行以下任一步骤:
-
检查 Docker 套接字是否不是 Podman 套接字的符号链接:
$ ls -la /var/run/docker.sock
输出返回以下内容:
ls: /var/run/docker.sock: No such file or directory
-
运行以下命令检查输出是否返回 Docker 版本而不是 Podman 版本:
$ curl -s --unix-socket /var/run/docker.sock "http://v1.41/info" | jq -r .ServerVersion