WSL2-不输Mac的开发体验(三):WSL2中使用docker&k8s

1. docker for wsl2 在wsl2中使用docker的最佳实践不是在wsl2中安装docker,而是安装docker desktop: 从docker官网下载并安装完成后,打开docker desktop,选择setting->General,确保Use the WSL 2 based engine选项被勾选,然后选择右下角Apply&Restart。 重启docker desktop后,再次打开设置,确保setting->Resources->WSL INTEGRATION选项页中你的WSL发行版被勾选。 完成以上步骤之后,打开你的wsl, 输入docker: 出现这一堆说明安装成功。 使用docker run helloworld验证你的docker可以正常启动容器。 如果输入docker命令后无法启动,可以尝试sudo docker 2. k8s for wsl2 安装了docker desktop后,可以通过setting->Kubernetes,勾选Enable Kubernetes来为你的wsl提供k8s服务,但由于网络问题,通常不可能成功。 所以我们要"换源"。 打开setting->Docker Engine,将右侧配置文件改为: { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ], "insecure-registries": [], "debug": false, "experimental": false, "features": { "buildkit": true } } Apply&Restart,重启docker desktop。 现在我们还需要一些额外的镜像。 clone AliyunContainerService/k8s-for-docker-desktop 这个项目。 git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git 查看自己的docker desktop上Kubernetes的版本。 可以看到我们这里是v1.21.2。相应的,我们进入刚才clone的文件夹下,切换到v1.21.2分支 git checkout v1.21.2 切换分支后,在当前目录下执行:...

August 12, 2021 · 1 min · 李昌

WSL2-不输Mac的开发体验(二):WSL2的网络问题

1. 代理服务 1.1 获取Windows主机ip并使用其代理 可以在wsl中安装代理软件,但如果win主机上也有代理软件的话,会感觉有点乱。这里让wsl使用主机的代理。 我使用的代理软件是clash,这里首先要确保clash允许局域网 确认完clash支持局域网后,我们来看如何从wsl中获取win主机的ip地址。 在Windows主机上,我们可以用ipconfig命令来查看本地的ip地址 ipconfig 如图所示,命令行输出了在wsl网络中Win主机的ip地址。(wsl和windows处于一个网络中,这里得到的是windows在这个网络中的ip地址)。 如果我们想使用windows的代理,那么可以使用如下命令(在wsl中): export ALL_PROXY="http://172.28.48.1:7890" 这里, 172.28.48.1是Windows在这个网络中的ip地址,7890是代理接口。 通过访问google查看是否代理成功: 1.2 使用脚本自动获取ip地址并设置代理 通过1.1我们知道,可以在Windows主机中获取其在wsl网络中的ip地址,那我们是否可以在wsl中获取到这个地址呢? 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.28.48.1 这里的nameserver,是不是就和我们在Windows下获取到的ip地址是一样的。 我们通过一个脚本来自动获取到这个ip地址,并将其设置为代理地址: #!/bin/bash host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ") # 获取ip地址 echo $host_ip # 输出ip地址 export ALL_PROXY="http://$host_ip:7890" # 设置代理,7890为我的代理端口 curl -I https://www....

August 10, 2021 · 2 min · 李昌

WSL2-不输Mac的开发体验(一):WSL2的安装及基本配置

1. WSL的安装 1.1 升级Windows WSL需要高版本的windows,可使用微软官方的易升工具或直接从设置中升级,升级需要一定的时间。 1.2 安装WSL 使用管理员模式打开power shell, 使用如下命令开启WSL功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 重启你的机器 启用虚拟机功能 以管理员身份打开powershell,使用如下命令: dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 重新启动电脑 下载Linux内核更新包 适用于 x64 计算机的 WSL2 Linux 内核更新包 运行你下载的更新包。 将WSL2设置为默认版本 以管理员身份打开powershell,使用如下命令: wsl --set-default-version 2 选择你要安装的发行版 这里我选择了Ubuntu18.04,获取后安装 启动安装的发行版即可 2. 使用WSL图形界面(可选) 设置环境变量 export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 export LIBGL_ALWAYS_INDIRECT=1 安装Xserver,这里选择的软件是vcxsrv, 可在sourceforge中下载安装。 安装完成后直接启动即可...

June 1, 2021 · 1 min · 李昌