windows下安装linux虚拟机(wsl2),并安装docker。
一、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
windows下安装linux虚拟机(wsl2),并安装docker。的更多相关文章
- windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案
为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php文件,一来节省虚拟机磁盘大小,二来解决虚 ...
- 怎么在Windows下安装Linux虚拟机
前提:①电脑有安装好VMware Workstation Pro虚拟机,没有的话点此下载并安装.②下载好CentOS-7-x86_64-DVD-1503-01镜像文件,没有点此下载密码:lomg. 1 ...
- Windows下的Linux子系统安装,WSL 2下配置docker
Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在“启用或关闭W ...
- windows下制作linux U盘启动盘或者安装优盘(转)
windows下制作linux U盘启动盘或者安装优盘(转) Linux发行版排行榜:http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Window ...
- Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序
自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH 网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...
- VMware下安装linux虚拟机
安装VMware [下一步] [下一步] 点击[自定义],[下一步] 更改安装目录,[下一步] [下一步] [下一步] [跳过] [完成] 点击桌面图标 如下勾选,输入邮箱,[继续] [完成] 安装l ...
- win7下安装 LINUX虚拟机
文件名: VMware-workstation-full-10.0.6-2700073.exe 百度云共享链接: pan.baidu.com/s/1o6McGmI VMware workstation ...
- 手把手教windows上安装linux虚拟机及环境配置
目录 版本说明 安装虚拟机 典型方式安装(推荐小白,带有图形界面,助于学习,但占用空间大) 自定义方式安装(推荐老司机) 创建快照 克隆虚拟机 windows上安装linux虚拟机不管是对于新人还是老 ...
- 使用 Vagrant 在 VirtualBox 安装 Linux 虚拟机
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 导入 2.工具介绍 3.通过Vagrant为VirtualBox安装CentOS 7 4.总结 文章推荐: 关 ...
随机推荐
- 18.Java 封装详解/多态详解/类对象转型详解
封装概述 简述 封装是面向对象的三大特征之一. 封装优点 提高代码的安全性. 提高代码的复用性. "高内聚":封装细节,便于修改内部代码,提高可维护性. "低耦合&quo ...
- 数据库学习笔记 - MySQL基础知识
一.数据库基础知识 1.1 Whats's 数据库 数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.如:大型-银行存储的信息,小型-电话簿. 数据 ...
- SpringCloud 2020.0.4 系列之 Stream 消息出错重试 与 死信队列 的实现
1. 概述 老话说的好:出错不怕,怕的是出了错,却不去改正.如果屡次出错,无法改对,就先记下了,然后找援军解决. 言归正传,今天来聊一下 Stream 组件的 出错重试 和 死信队列. RabbitM ...
- [bzoj2245]工作安排
由于价格是单调递增的,因此可以直接建立Si条边,流量和价格依次为给定的函数即可(如果价格不递增,可以考虑动态加边等操作) 1 #include<bits/stdc++.h> 2 using ...
- C/C++ Qt 选择夹TabWidget组件应用
在Qt中通过使用选择夹组件可以实现在一个页面中集成多种功能,我们以TabWidget选择夹组件为例,实现在单个页面中集成多个功能,并给每一个子夹增加对应的Ico图标. 如果我们使用选择夹组件,必须提前 ...
- JavaScript Sanitizer API:原生WEB安全API出现啦
10月18号, W3C中网络平台孵化器小组(Web Platform Incubator Community Group)公布了HTML Sanitizer API的规范草案.这份草案用来解决浏览器如 ...
- 洛谷 P7620 - CF1431J Zero-XOR Array(状压 dp)
洛谷题面传送门 首先显然题目等价于求有多少个长度 \(n-1\) 的序列 \(b\) 满足 \(a_i\le b_i\le a_{i+1}\),满足 \(b_1\oplus b_2\oplus\cdo ...
- C++ and OO Num. Comp. Sci. Eng. - Part 2.
本文参考自<C++ and Object-Oriented Numeric Computing for Scientists and Engineers>. 1. Basic Types ...
- Go 类型强制转换
Go 类型强制转换 强制类型的语法格式:var a T = (T)(b),使用括号将类型和要转换的变量或表达式的值括起来 强制转换需要满足如下任一条件:(x是非常量类型的变量,T是要转换的类型) 1. ...
- C语言按行读入文件
getline() 函数无论一行多长,动态分配内存读入行 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <s ...