Podman 需要额外配置 Docker API 兼容模式

vscode使用 Remote-Containers 连接 podman容器,遇到 zsh: command not found: docker 的原因是 Podman 没有提供 docker 命令,你需要手动创建 docker 兼容的符号链接或使用 alias

💡 解决方案

1️⃣ 确保 Podman 已安装

先确认 Podman 是否安装:

podman --version

如果没有安装,请先安装 Podman:

macOS(使用 Homebrew 安装)

brew install podman

Linux(Ubuntu/Debian)

sudo apt update
sudo apt install podman -y

2️⃣ 启动 Podman API(模拟 Docker Daemon)

Podman 默认不提供 docker 命令,但可以开启 Docker API 兼容模式:

podman system service --time=0 unix:///tmp/podman.sock &

然后设置 DOCKER_HOST

export DOCKER_HOST="unix:///tmp/podman.sock"

DOCKER_HOST 变量永久生效:

echo 'export DOCKER_HOST="unix:///tmp/podman.sock"' >> ~/.zshrc
source ~/.zshrc

3️⃣ 创建 docker 命令的别名

如果你想在终端使用 docker 命令,而不是 podman,可以创建一个别名:

alias docker="podman"

让这个别名永久生效:

echo 'alias docker="podman"' >> ~/.zshrc
source ~/.zshrc

然后测试:

docker info

如果输出 Podman 相关信息,说明 Podman 已成功模拟 Docker。

🔥 总结

Podman 不是 Docker,默认不提供 docker 命令

使用 podman system service 开启 Docker API 兼容模式

设置 DOCKER_HOST 让 VS Code 识别 Podman

创建 docker 命令的 alias,让 docker 变成 podman

使用 docker info 测试 VS Code 是否能识别 Podman

这样,你就可以 在 VS Code 里用 Remote-Containers 连接 Podman 了 🚀!

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容