Docker无法拉取postgres:14镜像,提示无匹配manifest问题求助
解决Docker拉取postgres:14时报错“no matching manifest for windows/amd64 10.0.22000”
原因说明
这个报错是因为Docker当前的容器模式(Windows/Linux)或架构配置,与postgres:14镜像支持的架构不匹配——postgres官方提供的Windows容器镜像版本有限,更推荐使用Linux容器模式。
具体解决方案
切换到Linux容器模式
右键任务栏中的Docker图标,选择「Switch to Linux containers」,等待切换完成后,重新执行docker-compose up或docker pull postgres:14。配置WSL 2后端(若使用WSL)
- 打开Docker Desktop设置,进入「Resources」→「WSL Integration」,确保启用了你正在使用的WSL发行版(如Ubuntu)。
- 打开命令提示符,输入
wsl --list --verbose检查WSL版本,若目标发行版版本为1,执行wsl --set-version <发行版名称> 2切换到WSL 2。
在docker-compose.yml中指定架构
如果切换容器模式后仍有问题,可以在db服务配置中明确指定Linux架构:db: image: postgres:14 platform: linux/amd64 environment: - "POSTGRES_HOST_AUTH_METHOD=trust"或者改用体积更小、架构支持更全的alpine版本镜像:
db: image: postgres:14-alpine environment: - "POSTGRES_HOST_AUTH_METHOD=trust"清理Docker缓存
执行以下命令清理无用镜像和缓存,再重新拉取镜像:docker system prune -a
内容的提问来源于stack exchange,提问作者Seyedmahdi moosavyan
相关产品推荐
相关产品推荐

