wsl使用常见命令
# 安装发行版
wsl --install -d <Distribution Name>
# 查看在线商店镜像列表
wsl --list --online 或 wsl -l -o
# 查看已安装版本
wsl -l -v
# 删除wls版本
wsl --unregister Ubuntu-22.04
# 设置默认版本
wsl --set-default Ubuntu-20.04
# 常用基础配置
apt换源
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
安装docker过程
wsl -d <你的linux名称>
# 删除原有垃圾数据
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get remove docker-ce docker-ce-cli containerd.io
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
# 安装
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
#添加 Docker 官方gpg key (可能国内现在访问会存在问题)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 阿里源(推荐使用阿里的gpg KEY)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#Docker官方源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#阿里apt源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新源
sudo apt update
sudo apt-get update
# 安装
#docker本体
sudo apt install docker-ce docker-ce-cli containerd.io
#docker-compose
sudo apt install docker-compose
# docker命令补全
sudo apt-get install bash-completion
sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
source /etc/bash_completion.d/docker.sh
配置wsl2启动docker
添加文件
sudo touch /etc/fstab
更改网络适配器
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy # for ipv4
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy # for ipv6
systemctl status docker
测试systemctl状态
systemctl list-unit-files | grep docker
设置局域网访问,以及内存占用 可随时调节 重启wsl即可
在C:\Users\你的用户名中打开.wslconfig(没有就新建一个)
输入以下配置
[wsl2]
memory=4294967296
swap=2147483648
defaultVhdSize=214748364800
networkingMode=mirrored # 镜像网络模式
dnsTunneling=true #与主机共用dns
autoProxy=true # 与自动与主机共用代理
[experimental]
hostAddressLoopback=true
默认情况下,loopback的只有127.0.0.1(i.e., localhost),并且强制loopback。也就是说,在wsl2中开启的网络端口(例如通过8022开启ssh登录端口),会通过localhost映射到win11上,可以在win11宿主机使用ssh -p 8022 username@localhost登录,但是通过win11的局域网或公网IP是不能登录的。将这个选项设置为true之后,就可以在宿主机使用局域网或公网IP通过8022端口直接进行wsl2的ssh登录。
如果你有docker服务需要访问的话,在"/etc/docker/daemon.json"中添加如下
{
iptables": false
}
记得关闭防火墙windows/wsl的防火墙
这样子你就可以用windows的局域网ip/公网ip:wls(docker)的port来访问服务了
如果需要内网穿透也可以直接在windows下穿透127.0.0.1:port
或者windows下ddns,然后用v6访问
安装1panel
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh