WSL 让 Windows 拥有完美 Docker 体验

略懂一只大龙猫2024-04-16 21:34:56  57

WSL 全称 Windows Subsystem for Linux,即运行在 Windows 上的 Linux 子系统。“WSL + Linux 发行版”的组合,可以让 Windows 拥有接近原生 Linux 的体验。在 WSL 上部署 Docker ,让你在 Windows 上可以拥有完美 Docker 体验。

安装 WSL

安装 WSL 需要硬件和系统设置均支持虚拟化,具体可以参考官方文档。如果软硬件符合条件,一条简单命令即可安装 WSL:

#安装 wslwsl --install#升级 wsl,目前最新版为 2.1.5wsl --update

官方安装文档:

https://learn.microsoft.com/zh-cn/windows/wsl/install

安装好 WSL 后,你需要根据实际情况安装 Linux 发行版。在 Microsoft Store 中搜索 wsl 即可下载你想要的 Linux 发行版。本文以 Ubuntu-22.04 为案例:

如果没有 Microsoft Store ,可以去官网下载 WSL 发行版:

https://learn.microsoft.com/zh-cn/windows/wsl/install-manual

配置 .wslconfig 文件

WSL 有 2 个重要的配置文件 .wslconfig 和 wsl.conf,其中 .wslconfig 位于 Windows 系统上,wsl.conf 位于 Linux 发行版系统上。首先介绍配置 .wslconfig。

打开 .wslconfig 文件目录:Win+R 运行 %UserProfile% ,会打开用户目录,然后新建一个 wslconfig 文件。 .wslconfig 配置可以参考如下内容:

[experimental]#自动释放内存autoMemoryReclaim=gradual#网络镜像模式networkingMode=mirroredhostAddressLoopback=true#共用 Windows DNS、防火墙、代理设置dnsTunneling=truefirewall=trueautoProxy=true

配置 wsl.conf 文件

wsl.conf 的作用是配置自启动程序、磁盘自动挂载等,文件目录为:/etc/wsl.conf。下面是参考案例:

[boot]#启用 systemdsystemd=true#开机运行 dockerservice docker start

.wslconfig 和 wsl.conf 的详细参数可以参考官方文档:

https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config

安装 Docker

docker 可以通过发行版的包管理工具安装,比如 Ubuntu(sudo apt install docker docker-compose),也可以用官方的安装脚本进行安装:

curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.shsudo service docker start

在本文案例中 WSL 采用了 networkingMode=mirrored 镜像网络模式,好处是可以用 Windows 相同 IP 访问到 docker 。但是必须配置一下,否则无法访问 docker 容器。

方法一:ignoredPorts

在 .wslconfig 中通过 ignoredPorts 命令设置放行的端口,通过这些端口可以顺利访问你部署的 docker 容器。

[experimental]networkingMode=mirroredhostAddressLoopback=trueignoredPorts = 8000,8080

方法二:hostAddressLoopback

在 .wslconfig 中添加 hostAddressLoopback=true :

[experimental]networkingMode=mirroredhostAddressLoopback=true

然后进入 Linux 发行版编辑 docker 配置文件:/etc/docker/daemon.json,添加:

这个方案的缺点是无法使用 iptables。

WSL 开机运行

如果你想开机运行 WSL (让你的 docker 容器随时可访问),首先查看发行版名称并记下来:

wsl -l --all

Win+R 运行 shell:startup 打开启动目录,创建一个 wsl-startup.vbs 脚本文件,脚本内容如下:

set ws=wscript.CreateObject("wscript.shell")ws.run "wsl -d Ubuntu-22.04",vbhide

可自行修改 Linux发行版名称(本案例为 Ubuntu-22.04),vbhide 参数为隐藏窗口运行。这样 WSL 的 Linux 发行版就会在开机时就运行。

然后装一个好用的 docker 管理器比如:dockge 或者 portainer,就可以在开始折腾了,就像把你的 Linux 主机和 Windows 二合一了一样。

注意,折腾 WSL 主机内存最好在 32G 以上。

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/258728.html
0
随机主题
被问是否会遵守ICC对内塔尼亚胡等人的裁决,德国政府发言人:当然张晋50岁生日晒全家福, 俩女儿长成翻版蔡少芬, 儿子烫卷发像爸爸平安警色丨江苏常熟公安: 多措并举护校安园, 织密未成年人保护网泽连斯基将前往法国说服北约击落俄罗斯导弹, 没收俄国被冻结资产伊朗一天内解开总统坠机谜团: 原是技术故障, 美国终于放心真我GT Neo6: 骁龙8s三代+ 6000nit无双屏 +120W光速秒充50多万的奥迪SUV降价超22万元, 车长4米9马力313匹值不值汪峰新女友旧照被曝光: 深泪沟+黑眼圈疑似“整容”! 本人回应了15年攻关实现全人工繁殖 探秘“水中大熊猫”川陕哲罗鲑3950解禁之后a5还是这么能打?得了,预算不够的话还是选他把。迈从a5[小鲨帮选车]买一辆沃尔沃S902.0T, 省油还有劲星途凌云w者版领衔 20万以内四款质价比超高的SUV大批澳洲华人不知道: 回国花的钱, 居然可以找回来!最大续航530km, 吉利银河E5动力曝光, 竞争比亚迪元UP?牟林: 美国悍然提出杀人双标, 国际刑事法院逮捕以总理博弈白热化2024-2025年美国最佳居住城市排名发布美联储公布5月会议纪要 通胀风险仍需高度关注丨从华尔街到陆家嘴泰消保风险提示: 利率下行时期, 这样选择保险, 稳稳守住你钱袋子郭晶晶“人生赢家”! 三子女颜值大揭秘, 儿女双全成家族颜值担当朱婷悼念田宗琦:你能理解我,因为我们都是农村的,永远与你同在5年2.45亿, 多赚4100万! 联盟两大新星, 带队闯进分区决赛
最新回复(0)