win10 wsl1 转换为 wsl2 的方法及实际使用案例
0.WSL2(win10 子系统二代)特殊优势:
-
彻底重构 wls 一代,速度比上一代快 20%
-
支持原生 Docker 安装,启动(相当于完整的 linux 系统、虚拟机运行)
-
支持各种一键脚本,比如宝塔一键脚本、佰阅一键脚本等等
-
win10 文件管理器可访问 linux 系统文件
-
搭配 vs code 的插件 vs remote 可以超低延迟、急速开发基于 linux 系统的开发环境
-
其它优势。。。。
对于 Docker,win10
桌面版docker
启动耗时大概一分钟左右,在wls2
上,启动 docker 真的是一瞬间就完成。
1.WLS2 win10 子系统安装方法(速度很快,一分钟不到)
若要安装并开始使用 WSL 2,请完成以下步骤:
-
启用“虚拟机平台”可选组件
-
使用命令行设置要由 WSL 2 支持的发行版
-
验证发行版使用的 WSL 版本
请注意,需要运行 Windows 10 版本
18917
或更高版本才能使用WSL 2
,并且需要已安装 WSL(可在此处找到有关执行此操作的说明)。关于系统环境,可以到设置,更新与安装,windows 预览体验计划,寻找快速版即可。等第一次更新系统后,可以切换到慢速版。否则快速版更新速度太频繁,影响正常工作。
1.1 启用“虚拟机平台”可选组件
- 以
管理员身份
打开 PowerShell 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
-
需要
重新启动计算机
,这些更改才能更好地生效 -
查看现有地 WSL
wsl -l -v
### 输出结果
PS C:\WINDOWS\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu-18.04 Stopped 1
- 使用命令行将 WSL 1 的发行版转化为 WSL2、在 PowerShell 中运行:
wsl --set-version $已经使用的WSL的名字 2
### 输出结果
正在进行转换,这可能需要几分钟时间...
有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2
转换完成。
- 此外,如果要使 WSL 2 成为你的默认体系结构,可以通过此命令执行该操作:
wsl --set-default-version 2
## 输出结果
有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2
- 进行转换后的检测
wsl -l -v
## 输出结果
NAME STATE VERSION
* Ubuntu-18.04 Stopped 2
2. 实例之:Docker 安装
2.1 更新软件
sudo apt-get update
sudo apt-get upgrade -y
sudo apt autoremove
2.2 安装 docker 前准备
2.2.1 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
2.2.2 安装依赖使 apt 能够使用基于 https 的仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common -y
2.2.3 添加 docker 的离线 gpg key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
2.2.4 验证 key 的信息
sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
2.2.5 设置 docker 各版本的安装源(此处是 stable 版本)
To add the nightly or test repository, add the word nightly
or test
(or both) after the word stable
in the commands below.
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
2.3 开始安装 docker
2.3.1 更新软件目录
sudo apt-get update
2.3.2 安装最新版本的 docker
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
2.3.3 启动测试
# 启动 docker 守护进程
sudo service docker start
# 运行测试
sudo docker run hello-world
2.4 免 sudo 使用 docker 命令
原文章:https://expoli.tech/articles/2019/07/27/1564656218673.html
2.4.1 背景
相信大家在一台新机器上面安装 docker 时候、都会发现 docker 在安装完成之后、如果你想直接使用使用 docker 命令来运行 docker 相关的操作、会爆出类似于下面的错误。
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied
报错显示权限不够、那么如何解决这个问题呢?
官方文档给出了解决方案,那就是将你添加到 docker
这个用户组里面即可。
- 如果还没有 docker group 就添加一个:
sudo groupadd docker
- 将相应的用户加入该
group
内。然后退出并重新登录就生效啦。
sudo gpasswd -a ${USER} docker
- 重启 docker 服务
sudo service docker restart
- 切换当前会话到新 group 或者重启 X 会话
newgrp - docker
现在配置就完成了、可以免 sudo 使用,docker 命令了。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于