V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  nigi  ›  全部回复第 1 页 / 共 1 页
回复总数  8
另外我想问题大家一般用什么方式守护 wsl ubuntu 进程,因为如果不用终端卡主它马上就会 stopped 。
记录一下解决方案:

1 、卸载 windows docker
2 、在 wsl 中安装 1panel (自带 docker )
3 、启动一个 network=host 的 go 容器
4 、测试 http.ListenAndServe("10.60.33.53:8080", nil),监听成功

原理是最终保持 windows+wsl+container 的 ip 一致即可
所以 wsl 中我使用镜像模式让 windows 和 wsl 的 ip 保持一致( networkingMode=mirrored )
但是容器始终会生成自己的虚拟网卡,即使是使用 host 模式
查阅资料发现 windows docker 不支持 host ,所以我在容器中使用 host ,容器的 ip 还是会和宿主机不同
最后希望 windows docker 可以抓紧解决这个 host network 问题吧

遇到问题:
https://github.com/docker/for-win/issues/12355


相关链接:
https://docs.docker.com/engine/network/drivers/host/( windows docker 使用 host 网络模式 [实测无效] )
https://1panel.hk/( 1panel ,这个里面的 docker 面板没有搜索镜像功能)
https://docs.docker.com/engine/install/ubuntu/( docker 官方指引在 wsl 中安装)
@paranoiagu 其实应该和 wsl2 没什么关系,我猜的,因为所有网络已经镜像了 windows ,本质上应该没什么区别,共用一个 ip
@luodan 因为我的代码全部挂载到乌邦图
@wangritian go 容器用的就是 host 模式,我其实不是很明白,程序为什么会把 0.0.0.0 解析成容器的 ip
最好的解决办法是容器内可以把服务绑到宿主机 ip 上,但是这好像不太可能
我感觉这个是 docker 和 wsl 之间的问题
158 天前
回复了 Dlad 创建的主题 程序员 learnku.com 打不开了,请教下是啥情况?
没文档看了
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5503 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 07:32 · PVG 15:32 · LAX 23:32 · JFK 02:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.