window子系统使用及问题汇总


最近在使用windows上的docker时感觉使用很不爽,虽然有图形化界面加持但是感觉就是启动慢,暂用资源多,还遇到一些奇奇怪怪的bug,间接性启动不了,容易卡死,容器也莫名其妙的端口冲突一查还找不到,干脆卸载了。 \

安装

  • 在window10专业版以上的基础上(别的版本不清楚,只用过win10和win11专业版)安装docker桌面版的人,都安装过wsl2。没有装过这个的请到这个链接中根据提示安装,或百度安装。\

  • 在控制面版/程序和功能/启用或关闭Windows功能中开启适用于Linux的Windows子系统
    适用于Linux的Windows子系统

  • 安装好之后进入微软商店,开始选择一款linux下载,本人使用的是ubuntu18。

在这里插入图片描述

点击下载安装后打开cmd输入wsl即可进入ubuntu子系统。初次进入的界面应该有设置密码操作,这部操作没有设置root的密码的使用sudo passwd然后输入当前账户的密码获取权限后即可设置root密码。

配置子系统的资源大小

在window系统的C:/user/XXX的用户目录下创建一个.wslconfig的配置文件,内容如下:

[wsl2]
memory=4GB
processors=2
swap=0
localhostForwarding=true

上面配置的大概就是说内存4g,cpu核数2,交换内存不要,觉得设置不合适的可以根据官方文档修改。

切换默认源

默认的源是比较慢的,这里切换到华为的源,下载软件速度快一点。

#备份默认apt源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
#下载华为源
sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
# update
apt-get update

安装docker

本人的出发点是windows的docker用的不爽才安装的这个子系统,不需要的可跳过这里。

#安装软件包依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# 在系统中添加Docker的官方密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#添加Docker源,选择stable长期稳定版
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
# update
sudo apt update
# 查看可以安装的Docker版本
sudo apt-cache policy docker-ce
# 下载社区版docker
sudo apt install docker-ce
#查看安装情况
docker
# 启动Docker服务
sudo systemctl start docker//wsl 不好使换成service
# 开机自启
sudo systemctl enable docker
# 配置加速 去阿里云配置自己的加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://wh9z3wm8.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 创建一个docker网络,方便后续容器间的通信
docker network create my-net
# 查看已有的docker网络
docker network ls

解决wsl无法使用systemctl的问题

跟着上面安装docker获取自行安装ssh等服务的盆友应该已经发现了这个系统是有问题的,它的systemctl指令用不了,当然使用service也可以用,但是这个毕竟是ubuntu16之后以及centos7经常使用的指令,还是解决一下吧。wsl是不支持这个指令的使用的,在网上找了一个解决方案。

git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh

运行脚本成功后在window以管理员模式运行PowerShell,重启LxssManager

net stop LxssManager
net start LxssManager

再次进入linux子系统就可以使用了。

子系统访问windows系统中的文件

切换到/mnt挂载目录下就可以看到c,d这些就是c盘,d盘呀。

window访问子系统的文件

win11的盆友打开文件资源管理器应该可以看到这样一个界面,剩下的就随便点了。
在这里插入图片描述

win10的盆友可能没有,那就用命令装#吧,毕竟我用的不多,指令可以用scp或者sftp,如下:

# scp
scp [参数] 源地址  目标用户名@目的ip:目标地址
#示例在ubuntu子系统中将ubuntu-wsl2-systemd-script目录下的全部文件复制到D盘下的a文件夹里
scp -r ./ubuntu-wsl2-systemd-script/ ffd@192.168.129.62:d:/a/
#sftp 
sftp 目标用户名@目的ip
#登录之后的指令不知道的就百度一下吧,很简单

总结

折腾半天感觉好像没个啥能惊艳的地方,直接用虚拟机不就行了码,而且还可能遇到奇奇怪怪的问题自己解决不了,那有啥意义呢。我感觉window子系统有下面这些好处。

  • 速度快,相比于虚拟机真的快的多,一两秒就启动了,比windows版的docker也快好多

  • 与window搭配,可以看到win11下已经有了对应的文件夹管理了,相比于虚拟机的文件互传,目录挂载mnt和win11的文件夹管理显的更加方便

  • 随着软件的升级,子系统会慢慢被三方软件兼容,比如idea,windterm,虽说鸡肋,但虚拟机是不会有这些功能的。

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A5cEjtgY-1661245644168)(D:\home\document\node\images\image-20220823165220969.png)]

  • 启用方便,关闭方便,在cmd中直接输入wsl就可以进入,要关闭可以直接shutdown就行,不用依赖于任何虚拟机软件

缺点:它的缺点很明显,对c盘小的盆友很不友好,我没有找到它如何指定安装位置。缺少图形化界面,这个其实不算缺点它是可以安装图形化界面的,用linux的人应该用图形化界面的不多,需要的自行百度安装。

使用体验就这些了,用了一段时间了,没啥大问题。后续有新体会再补充。

the end 2022/8/23🌾

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值