podman 使用代理
Podman 登录docker
问题描述
前置环境:clash 设置为想太多了
执行如下命令出现错误
1 | podman login docker.io -u xxxxxx -p xxxxxx |
在启动podman machine default 后,尝试登录docker.io提示连接出现EOF.
1 | Error: authenticating creds for "docker.io": pinging container registry registry-1.docker.io: Get "https://registry-1.docker.io/v2/": unexpected EOF |
问题排查
错误分析&定位:
错误核心信息: unexpected EOF (意外的文件结束)
发生在哪一步: pinging container registry registry-1.docker.io (正在尝试连接容器注册中心 registry-1.docker.io)
完整含义: Podman 尝试通过 HTTPS 协议连接到 Docker 官方仓库(registry-1.docker.io)以进行认证,但在建立安全连接(SSL/TLS 握手)的过程中,连接意外地中断或关闭了,导致 Podman 收到一个“意外的文件结束”信号,无法完成通信。
尝试解决问题
TRY1(失败)
1 | in pc shell |
1 | 运行结果 |
abort: 代理可以接受但是访问网页出现了拒绝(registry-1.docker.io:443.)。
考虑到clash设置为系统代理(猜测会映射到主机网路),因此尝试将代理设置为127.0.0.1,但并没有啥用,查了下,实际上并没有映射到主机的用户网络。
TRY2(成功)
尝试machine 使用用户网络
查找资料 发现 创建机器市 有 使用用户网络 的选项
podman-machine-init — Podman 文档 — podman-machine-init — Podman documentation
1 | –user-mode-networking |
设置完成后,重新进行 docker 登录和 镜像拉起 成功 ✌
clash虚拟网卡模式 规则模式
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Niuzhuoqun's BLOG!