MacOS下podman运行busybox镜像报X-Registry-Auth头解析失败错误
问题根因
该问题是Podman 3.3.x版本的已知内置缺陷,其注册表身份验证存储逻辑强制校验认证key不能携带http/https前缀,本地Docker/Podman认证配置中Docker Hub的地址默认带了https前缀,触发了校验报错,和MacOS下通过podman machine运行的环境无关。
可行解决方案
方案1:单次运行临时规避
执行命令时额外添加--authfile /dev/null参数跳过认证文件读取校验,测试命令修改为:podman run -it --authfile /dev/null docker.io/library/busybox该方案仅单次生效,后续运行其他镜像需要重复添加参数。
方案2:修改认证配置永久适配当前版本
编辑本地认证配置文件(优先检查第一个存在的文件即可):~/.docker/config.json(Docker Desktop遗留的认证配置)~/.config/containers/auth.json(Podman自带的认证配置)
将文件中所有registry地址的https://前缀删除,例如把"https://index.docker.io/v1/"修改为"index.docker.io",保存后重新执行原命令即可正常运行。
方案3:升级Podman版本彻底修复
该bug已经在Podman 3.4.0及以上稳定版本被官方修复,直接升级Podman到最新版本即可,不需要额外修改任何配置。
内容的提问来源于stack exchange,提问作者kolen
相关产品推荐
相关产品推荐

