解决 podman 容器无法在宿主机和容器内部相互访问问题的记录

解决 podman 容器无法在宿主机和容器内部相互访问问题的记录

近期在使用 podman 时,遇到了容器无法在宿主机和容器内部相互访问的问题。经过一番探索,参考了这篇文章,成功解决了该问题。在此,我将分享解决过程及一些特别需要注意的事项。

一、配置过程

  1. 首先,整个操作一定要在 PowerShell 中进行,输入以下命令来编辑 WSL2 的配置文件:
notepad $env:USERPROFILE\.wslconfig
  1. 若文件不存在,则创建一个新文件,并将以下内容复制到文件中:
[wsl2]
kernelCommandLine = cgroup_no_v1=all
[experimental]
networkingMode=mirrored
dnsTunneling=true
autoProxy=false
hostAddressLoopback=true
  1. 保存并关闭文件。

二、注意事项

在此,我要特别强调一点,即完成上述配置后,必须重启 WSL2 才能使配置生效。这是一个极易被忽略但又至关重要的步骤。若不重启 WSL2,那么之前所做的一切配置都将徒劳无功。

而且要明确的是,整个重启操作也是在 PowerShell 中输入以下命令来完成:

wsl --shutdown

还有一点需大家知晓,就是可以在 WSL 的容器中通过 ifconfig 命令查看到对应的 IP 。需注意的是,这里的 IP 应该存在于在 Windows 上执行 ipconfig 命令输出的 IP 中(可能不完全相同)。

三、总结

通过以上步骤,成功解决了 podman 的容器无法在宿主机和容器内部相互访问的问题。这样,就可以在 WSL2 中使用与 Windows 相同的网络配置,包括 IP 地址、子网掩码、网关和 DNS 服务器等。但请务必牢记,整个操作都是在 PowerShell 中完成,重启 WSL2 是使配置生效的关键步骤,且在 WSL 容器中通过 ifconfig 命令查看的 IP 与 Windows 上执行 ipconfig 命令输出的 IP 存在一定关联。希望这篇博文对大家有所帮助。

posted @   松哥_ai_自动化  阅读(143)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示