Windows下使用Podman时Quarkus拉取镜像失败的解决咨询
Windows下Quarkus与Podman搭配的认证问题解决办法
方案1:生成Docker兼容的凭证配置文件
Podman在Windows的凭证存储于C:\Users\my_user\.podman\config.json,但Quarkus依赖的Testcontainers默认读取Docker格式的C:\Users\my_user\.docker\config.json,可以通过以下方式生成兼容文件:
- 打开PowerShell执行命令:
该命令会完成Podman登录的同时,自动生成或更新Docker格式的podman docker login docker.ioconfig.json文件到.docker目录下。 - 若上述命令无效,可手动复制认证内容:
- 打开
C:\Users\my_user\.podman\config.json,找到auths节点下的docker.io认证条目 - 在用户目录下新建
.docker文件夹,创建config.json并粘贴如下内容(替换为你的认证字符串):{ "auths": { "docker.io": { "auth": "你的base64编码认证内容" } } }
- 打开
方案2:让Testcontainers直接使用Podman运行时
跳过Docker配置文件,直接让Quarkus通过Podman拉取镜像:
- 在PowerShell中设置临时环境变量:
若需永久生效,可在系统环境变量中添加这两个变量:$env:TESTCONTAINERS_RYUK_DISABLED="true" $env:DOCKER_HOST="npipe:////./pipe/podman-machine-default"TESTCONTAINERS_RYUK_DISABLED=true:Podman对Ryuk支持有限,禁用可避免报错DOCKER_HOST=npipe:////./pipe/podman-machine-default:指定Podman的套接字路径
- 重启
quarkus dev,此时Testcontainers会通过Podman拉取镜像,直接读取Podman的凭证存储。
方案3:检查Podman机器状态
如果使用的是Windows默认的Podman Machine运行方式,先确保机器处于运行状态:
podman machine start
同时确认上下文为默认配置:
podman system context use default
内容的提问来源于stack exchange,提问作者obe6
相关产品推荐
相关产品推荐

