M1 Pro芯片MacBook Pro能否使用Podman?如何修复拉取镜像报错
M1 Pro 芯片 macOS 运行 Podman 问题修复
macOS 对 Podman 的兼容性说明
搭载M1 Pro芯片的MacBook Pro可以正常使用Podman,Podman官方已对Apple Silicon架构的macOS做了原生适配,你之前执行podman machine init初始化虚拟机、podman machine start启动虚拟机的操作流程完全正确,拉取镜像报错和芯片、系统兼容性无关,是凭证配置冲突导致的。
报错根因
报错提示docker-credential-gcloud: executable file not found in $PATH,是因为Podman默认会读取本地~/.docker/config.json下的Docker凭证配置,该配置中声明了使用docker-credential-gcloud作为镜像仓库凭证助手,但你的本地环境没有安装这个Google Cloud关联的凭证工具,拉取镜像时调用对应可执行文件失败就会抛出该错误。
修复方案
根据自身使用场景选以下任意一种方案即可:
- 方案1:移除冲突的凭证配置(无额外依赖,最快解决)
执行命令编辑Docker配置文件:
找到文件中vim ~/.docker/config.jsoncredsStore字段(如果值为gcloud直接删除该字段),或是credHelpers字段下和gcloud相关的配置项,删除后保存退出。重新执行镜像拉取命令即可正常运行。如果你日常需要使用Google Cloud的容器镜像服务,不要用这个方案,选择方案2即可。
- 方案2:安装缺失的凭证助手
本地安装Google Cloud SDK,安装完成后确认docker-credential-gcloud可在终端直接调用,再执行拉取操作就不会报错。 - 方案3:为Podman配置独立凭证存储
不想修改原有Docker配置的话,可以给Podman指定独立的认证文件路径,将以下环境变量写入你使用的shell配置文件(zsh对应~/.zshrc,bash对应~/.bashrc):
保存后执行export REGISTRY_AUTH_FILE=~/.config/containers/auth.jsonsource命令加载配置,重启终端后Podman会读取独立的凭证文件,不再复用Docker的配置,自然不会触发gcloud凭证助手的调用错误。
验证
修复完成后重新执行你之前的拉取命令即可验证效果:
podman pull registry.cn-hangzhou.aliyuncs.com/reddwarf-pro/yapi:0ac4a62af8f232cae90ac955708c23d8386b2033
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

