
文章目录背景前置条件可用镜像源操作步骤1. 进入虚拟机2. 切换 root推荐3. 备份原配置如果有的话4. 写入镜像配置5. 退出虚拟机并重启6. 验证配置是否生效故障排查背景Podman 默认从 Docker Hubdocker.io拉取镜像在国内访问经常超时或速度极慢。在 macOS / Windows 上Podman 运行在虚拟机podman machine中镜像配置必须在虚拟机内部完成而非宿主机。前置条件安装 podman 与 podman-compose已初始化 Podman Machinepodman machine init虚拟机已启动podman machine start可用镜像源镜像源地址备注DaoClouddocker.m.daocloud.io老牌镜像稳定性好1msdocker.1ms.run速度较快腾讯云mirror.ccs.tencentyun.com腾讯云内网更快阿里云registry.cn-hangzhou.aliyuncs.com需注册获取专属加速地址中科大docker.mirrors.ustc.edu.cn教育网友好操作步骤以下 宿主机和 虚拟机标签区分命令执行位置。1. 进入虚拟机# 宿主机podmanmachinesshpodman-vm2. 切换 root推荐# 虚拟机sudo-i3. 备份原配置如果有的话# 虚拟机cp/etc/containers/registries.conf /etc/containers/registries.conf.bak2/dev/null4. 写入镜像配置方式一一键写入推荐# 虚拟机rootcat/etc/containers/registries.confEOF unqualified-search-registries [docker.io] [[registry]] prefix docker.io location docker.io [[registry.mirror]] location docker.m.daocloud.io [[registry.mirror]] location docker.1ms.run [[registry.mirror]] location mirror.ccs.tencentyun.com EOFunqualified-search-registries指定当镜像名不含 registry 前缀时默认搜索的仓库设为docker.io即可兼容docker pull nginx这类用法。方式二手动编辑# 虚拟机vi/etc/containers/registries.conf5. 退出虚拟机并重启# 虚拟机exit# 退出 rootexit# 退出虚拟机回到宿主机# 宿主机podmanmachine stoppodmanmachine start6. 验证配置是否生效# 宿主机podmaninfo--format{{json .registries}}|python3-mjson.tool或简化版podmaninfo|grep-A10registries看到配置的镜像地址即表示生效。可以拉一个镜像测试速度podmanpull alpine故障排查现象可能原因解决配置后仍走 Docker Hub未重启虚拟机执行podman machine stop podman machine startregistries.conf不存在目录或文件未创建检查/etc/containers/是否存在手动mkdir -p所有镜像源都超时网络不通检查虚拟机网络podman machine ssh -- ping -c 3 docker.m.daocloud.iopodman info不显示镜像语法错误检查 TOML 格式确保[[registry.mirror]]双括号正确