现象
在开启代理的情况下,依然无法拉取docker.io下的镜像。
问题原因
- wsl2与windows的网络结构发生了变化,wsl2无法直接使用windows上的代理。导致windows上的代理不生效,无法拉取镜像
解决方法
wsl2上配置代理。
需要说明的是配置的代理需要全局使用。添加到用户环境变量中podman是无法使用的。
在windows上已经有代理的情况下,只需要要将wsl上的代理配置指向windows的代理端口。
本方法适用于windows10上安装wsl2的情况。windows11建议配置镜像网络
1. 在wsl中获取windows的ip
cat /etc/resolv.conf
执行后
[user@DESKTOP-4VNCSHJ ~]$ cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.19.128.1
2. 设置代理
ip填上一步中查出来的ip, 端口看自己代理开的端口
-
方式一: 使用Podman Desktop来设置。(设置->Proxy ->填写代理
http://172.19.128.1:10809
->update -> 重启wsl podman-machine -
方式二 修改 /etc/systemd/system.conf.d/default-env.conf 然后重启wsl podman-machine
[user@DESKTOP-4VNCSHJ ~]$ cat /etc/systemd/system.conf.d/default-env.conf
[Manager]
DefaultEnvironment=http_proxy=http://172.19.128.1:10809
DefaultEnvironment=https_proxy=http://172.19.128.1:10809
DefaultEnvironment=HTTP_PROXY=http://172.19.128.1:10809
DefaultEnvironment=HTTPS_PROXY=http://172.19.128.1:10809