一、windows terminal(重要工具,但也可以不装)
这是微软官方推荐的终端工具,类似mac的iterm2,可同时开启多个终端,最开始默认有power shall,cmd,可下载gsudo集成PowerShall(管理员),安装完wsl(linux)后,系统也会自动集成到选项中。
安装并开始设置 Windows 终端 微软官网链接。颜值党可自定义主题,背景等。 相关教程相当之多。
设置PowerShall(管理员):
也可直接输入命令下载
winget install gsudo
在json配置文件中添加
"profiles":
{
"list":
[
{
"commandline": "gsudo.exe powershell.exe",
"guid": "{41dd7a51-f0e1-4420-a2ec-1a7130b7e950}",
"hidden": false,
"name": "Windows PowerShell Elevated"
}
]
}
如图
二、安装wsl
以{Ubuntu}代指需下载的linux系统版本,wsl2默认Ubuntu。
必要前提:
1.在系统设置中查找“Turn Windows features on or off”(打开或关闭Windows功能),选中Hyper-V、Virtual Machine Platform、Windows Hypervisor Platform(适用于Linux的Windows子系统、虚拟机平台)三个选项。确认打开,重启。
2.确保在BIOS中启用虚拟化。可根据电脑厂家型号查找进入bios方法(开机时狂按某键),以及如何设置。
3.需在PowerShall(管理员)运行所有命令。
安装:
wsl2相比wsl1简化了安装操作,现在只需要直接使用命令安装 。
wsl --install
如wsl已安装,误删了linux系统,可使用以下命令查找可下载版本并重新下载。也可以直接进入微软商店寻找下载。
wsl --list --online
wsl --install -d {Ubuntu}
安装会弹出{Ubuntu}窗口,进行自动下载,需等待片刻不要关闭窗口,下载完成后,填写linux账号密码进行初始化(此处初始化的是linux用户的账号密码。su命令需使用的密码,即root用户初始密码初始是没有设置的,需要后面在liunx终端使用命令“sudo passwd root”修改)
安装WSL 微软官网链接。
进入linux虚拟机:
安装完wsl后,可在powershall中输出wsl,进入wsl设置的默认linux虚拟机。
退出
也可以在windows terminal中进入
或者直接直接打开
挂载盘
直接安装的linux系统中,会把本地电脑的文件夹挂载到 /mnt/ 文件夹中,C盘对应/mnt/c,D盘对应/mnt/d,以此类推。如果想要改变挂载目录,可使用如下命令。以/文件夹为例。
sudo mkdir /c
sudo umount /mnt/d
sudo mount -t drvfs C: /c
微软商店安装linux方法:
三、安装docker
widows:
安装windows版的客户端docker,需在客户端中开启支持wsl2的选项。
WSL 2 上的 Docker 远程容器入门 微软官网链接。
可视化的客户端很方便,但装在windows上的docker不可以在linux虚拟机中使用,也意味着你用docker基本告别命令行了。还需注意在windows系统中,对设置的挂载盘要设置共享文件权限,否则会有些奇怪的bug。
linux:
直接下载docker可能不会是最新版,推荐参照docker的官网教程安装:docker官网安装文档(Ubuntu)
检查安装
注:使用docker时,端口需显式挂载,否则需要使用docker-machine进行查看对应的随机本地端口(或者windows客户端中直接查看)
docker-compose推荐使用pip安装,pip是基于python的包安装程序。需注意,linux虚拟机中默认python版本是2.7,我们需要下载并改默认为3,pip也有python和python3两个版本,需要使用python3版本的。
改变系统默认python版本:
apt-get install python3
sudo rm -rf python
sudo ln -s /usr/bin/python3 /usr/bin/python
安装pip3
sudo apt-get install python3-pip
安装docker-compose
pip install docker-compose
检查版本
注:pip安装软件时出现Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build*
sudo python -m pip install --upgrade --force pip
sudo pip install setuptools==33.1.1