WSL-Ubuntu中Docker-Compose构建失败,Docker Build可正常执行求助
问题解决:Docker-Compose构建失败与libsecret库缺失问题
问题分析
你遇到的两个现象直接相关:
docker build能成功是因为Docker Hub的Python镜像为公开镜像,凭证获取失败后会自动 fallback 到匿名拉取docker-compose up --build失败则是因为Compose对凭证加载错误的容忍度更低,直接终止构建流程,根源就是docker-credential-secretservice依赖的libsecret-1.so.0库缺失
解决方案
1. 安装缺失的依赖库
在WSL-Ubuntu终端执行以下命令,安装libsecret-1-0:
sudo apt-get update && sudo apt-get install -y libsecret-1-0
2. 调整Docker凭证存储配置(针对Rancher Desktop环境)
由于你使用Rancher Desktop,建议将Docker的凭证存储切换为desktop模式,避免依赖WSL内的系统密钥服务:
- 打开WSL中的Docker配置文件:
~/.docker/config.json - 找到
credsStore字段,将其值改为desktop,修改后内容示例:
{ "auths": {}, "credsStore": "desktop" }
- 如果文件中没有
credsStore字段,直接添加上述配置即可;如果原配置是secretservice,替换为desktop
3. 验证修复
先测试拉取镜像是否正常:
docker pull python:3.13.0a5
确认无凭证错误后,重新执行Compose构建:
docker-compose up --build
补充说明
如果安装库后仍有问题,可以尝试重置Docker的凭证缓存:
docker logout
之后重新登录Docker Hub(如果需要私有镜像),或者直接使用匿名拉取公开镜像。
内容的提问来源于stack exchange,提问作者Aravindan vaithialingam
相关产品推荐
相关产品推荐

