win11家庭版使用自带的Linux子系统并安装docker【全网整合版】

news2024/11/26 15:01:19

1. 电脑配置项

开发者选项

设置->系统->开发者选项
在这里插入图片描述

启用或关闭windows功能

控制面板->卸载程序->启用或关闭windows功能
在这里插入图片描述
勾选适用于Linux的Windows子系统和虚拟机平台并重启电脑(首次勾选选项时电脑提示重启)

Hyper-V

关键点:win11家庭版在启动或关闭windows功能中没有Hyper-V选项显示

  1. 将下述代码添加到记事本中,并另存为Hyper-V.cmd文件
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
  1. 找到Hyper-V.cmd文件图标,在右键菜单中点击:以管理员身份运行
    在这里插入图片描述
  2. 然后弹出一个 用户帐户控制 - Windows命令处理程序 对话框,我们点击:是
  3. 然后系统自动进行Windows命令处理,我们等待处理完成以后,【这个过程中不要关闭窗口或者关机】在最末处输入:Y,电脑自动重启,进行配置更新
    在下载安装的过程中,可能会卡住,尝试按按【回车键】
    在这里插入图片描述
  4. 电脑重启之后,在window管理工具中可以看到已经成功安装了Hyper-V。
    这样就可以在不用重装专业版系统的情况下,使用Hyper-V虚拟机了

检查一下:控制面板 -> 程序 -> 卸载程序 -> 启用或关闭Windows功能

对比上面的图可以发现是多出来Hyper-V的
在这里插入图片描述

在BIOS中启用虚拟化技术

这个模块也可以选择不操作(因为博主的联想电脑没办法进入到BIOS设置当中,不知道为啥),也可通过查找电脑型号问chartGPT自己的电脑是否已经启动虚拟化技术(一般来说win11的电脑肯定是启用的)

检查设备型号:通过系统自带功能查看
点击“开始”图标:在桌面上找到并点击左下角的“开始”图标。
选择“设置”:在弹出的菜单中,选择“设置”选项。
选择“系统”:在设置窗口中,找到并点击“系统”选项。
点击“关于”选项卡:在系统页面中,找到并点击“关于”选项卡。
查看设备规格:在“关于”页面中,你将能够找到设备规格,包括电脑的配置和型号信息。

步骤一:进入BIOS设置
重启电脑。
当电脑屏幕亮起logo时,通常会出现一个提示,告知你按哪个键可以进入BIOS设置。常见的按键包括F2、F12、Del、Esc等,但具体取决于你的电脑品牌和型号。
按住相应的键,直到进入BIOS设置界面。
步骤二:找到虚拟化技术选项
在BIOS设置界面中,使用键盘上的方向键和Enter键来导航和选择。
查找与虚拟化技术相关的选项。这通常被称为“Intel Virtual Technology”(对于Intel处理器)或“AMD-V”(对于AMD处理器)。这个选项可能在不同的位置,如“Configuration”、“Advanced”、“Security”等。
步骤三:启用虚拟化技术

找到虚拟化技术选项后,选择它并按Enter键进入子菜单。
在子菜单中,找到“Enabled”选项并按Enter键选择它。如果选项是“Disabled”,则需要将其更改为“Enabled”。
步骤四:保存并退出BIOS

在BIOS设置界面的底部或侧边,找到保存并退出的选项。这通常是“Save & Exit”或类似的描述。
选择该选项并按Enter键,然后按照屏幕上的提示操作,通常是按F10键。

WSL2

  1. 以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 下载 Linux 内核更新包:(关键点)
    X64的内核包 : https://link.zhihu.com/?target=https%3A//wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
    ARM64的内核包 : https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi
    点击链接即可!!!

  2. 运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)

  3. 安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。
    (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。不过一般是推荐WSL2,因为WSL2是完整的Linux内核也为后续运行docker做准备)
    将 WSL 2 设置为默认版本:
    打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

2. 安装Ubuntu

在Microsoft Store中选择自己想要下载的版本

在这里插入图片描述
首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码。
当然,如果你出现下面的报错并且按下键盘就闪退 别担心
在这里插入图片描述
再次打开PowerShell 执行以下命令

wsl --set-default-version 1 

再重启电脑
打开Ubuntu 会让你输入用户名(自定义)和密码(自定义)

Ubuntu可以启动后再换回wsl 2

wsl --set-default-version 2 

Powershell上查看Ubuntu

之前的Ubuntu配置好后可以在Powershell当中查看到
使用 wsl -l -v命令列出已安装的子系统的名称和版本。

PS C:\WINDOWS\system32> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
  docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2

可以看到Ubuntu-20.04 的版本是WSL2的

在Powershell当中执行wsl命令即可切换到安装的子系统Ubuntu下

PS C:\WINDOWS\system32> wsl -d Ubuntu-20.04  
hx@LAPTOP-H2EI4I6A:/mnt/c/WINDOWS/system32$

设置root的密码(可以不操作)

新安装的Ubuntu系统默认root密码是没有的,执行一些命令需要sudo提权 所以推荐先设置一下

sudo -i

切换到root用户

passwd

即可配置root的密码

使用Ubuntu

打开下载好的Ubuntu 20.04 LTS 开始使用(不过多介绍)

hx@LAPTOP-H2EI4I6A:~$ ll
total 52
drwxr-xr-x 6 hx   hx    4096 Jun 20 16:24 ./
drwxr-xr-x 3 root root  4096 Jun 20 09:17 ../
lrwxrwxrwx 1 hx   hx      24 Jun 20 12:47 .aws -> /mnt/c/Users/Lenovo/.aws/
lrwxrwxrwx 1 hx   hx      26 Jun 20 12:47 .azure -> /mnt/c/Users/Lenovo/.azure/
-rw------- 1 hx   hx    2004 Jun 21 09:06 .bash_history
-rw-r--r-- 1 hx   hx     220 Jun 20 09:17 .bash_logout
-rw-r--r-- 1 hx   hx    3771 Jun 20 09:17 .bashrc
drwx------ 2 hx   hx    4096 Jun 20 12:47 .cache/
drwxr-xr-x 6 hx   hx    4096 Jun 20 13:38 .docker/
drwxr-xr-x 2 hx   hx    4096 Jun 20 09:17 .landscape/
-rw-r--r-- 1 hx   hx       0 Jun 21 08:55 .motd_shown
-rw-r--r-- 1 hx   hx     807 Jun 20 09:17 .profile
-rw-r--r-- 1 hx   hx       0 Jun 20 09:58 .sudo_as_admin_successful
-rw------- 1 hx   hx   10395 Jun 20 16:24 .viminfo
drwxr-xr-x 4 hx   hx    4096 Jun 20 15:34 test/
hx@LAPTOP-H2EI4I6A:~$ pwd
/home/hx

3. Ubuntu上安装docker

3.1 确定 CPU

可以看到我们的是 X86_64,是支持的,如果是 arm 一般会显示aarch64

root@ecs-144421:~# uname -a
Linux 139-159-150-152 5.4.0-100-generic #113-Ubuntu SMP Thu Feb 3 
18:43:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

3.2 确定操作系统版本

本次我们使用的是 Ubuntu 20.04

hx@LAPTOP-H2EI4I6A:~$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

3.3 配置 docker 下载源

#curl 命令安装
sudo apt install curl -y
#创建 gpg key 目录
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  

url 命令从 Docker 官方网站下载 GPG 密钥,并通过 gpg --dearmor 将其转换为可用的密钥格式并存放在 /etc/apt/keyrings/docker.gpg 文件中。推荐通过国内的代理或 VPN 来加速这个请求(否则可能会出现如下报错)或者找国内的镜像源(自行解决o( ̄ヘ ̄o#),因为博主没找到)

curl: (7) Failed to connect to download.docker.com port 443: Connection timed out
gpg: no valid OpenPGP data found.
echo \  
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | \  
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

设置Docker仓库:这里我添加了清华大学的镜像源(单纯从官网下载太慢了)

更新包列表:
每次更新完配置都请执行下述命令

sudo apt update

安装

hx@LAPTOP-H2EI4I6A:/etc/apt/keyrings$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
containerd.io is already the newest version (1.6.33-1).
docker-buildx-plugin is already the newest version (0.14.1-1~ubuntu.20.04~focal).
docker-buildx-plugin set to manually installed.
docker-ce-cli is already the newest version (5:26.1.4-1~ubuntu.20.04~focal).
docker-ce is already the newest version (5:26.1.4-1~ubuntu.20.04~focal).
docker-compose-plugin is already the newest version (2.27.1-1~ubuntu.20.04~focal).
0 upgraded, 0 newly installed, 0 to remove and 143 not upgraded.

自动启动配置

#配置加载
sudo systemctl daemon-reload 
#启动服务
sudo systemctl start docker 
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker

当看到如下图所示时,那么docker服务就算是启动了
在这里插入图片描述
执行 hello-world 可以看到 Hello from Docker,表面 docker 服务正常
如下所示就是docker安装成功

root@LAPTOP-H2EI4I6A:~# sudo docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

4. windows上安装DokerDesktop来管理(可选)

这个直接去DokerDesktop官网去下载即可(加载不出来可以选择挂梯子或者是去网盘下载)

可能遇到的问题1:

一直在转圈圈,连不上(多尝试几次,毕竟是国外的,要么就挂梯子)
在这里插入图片描述

问题2:

总是遇到如下报错,怎么解决

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

很简单把DockerDesktop重新启动即可
再次执行

root@LAPTOP-H2EI4I6A:~# docker version
Client: Docker Engine - Community
 Version:           26.1.4
 API version:       1.43 (downgraded from 1.45)
 Go version:        go1.21.11
 Git commit:        5650f9b
 Built:             Wed Jun  5 11:29:19 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Desktop
 Engine:
  Version:          24.0.6
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       1a79695
  Built:            Mon Sep  4 12:32:16 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

可以看到现在就连接上DokerDesktop了

使用docker下载镜像太慢的解决办法

安装过程就是一路下一步就对了,打开主界面(不登录也可以进入主界面,点击跳过注册就行),进入主界面后,点击右上角小齿轮, 点击Docker Engine选项卡
在编辑框的json代码段中添加你要配置的国内镜像源,我的如下,其中阿里云镜像服务加速器地址(如下代码中的 “https://xxxx.mirror.aliyuncs.com”),你用你自己的,登录阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,在
容器镜像服务/镜像加速器 中找到加速器地址,复制粘贴即可。
在这里插入图片描述

在Docker Desktop的设置中找到Doker Enigne 中添加 对应的自己的镜像加速器的内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1845547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何开发一个海外仓系统?难度在哪,怎么选择高性价解决方案

作为海外仓管理的重要工具,海外仓系统的实际应用价值还是非常高的。为了让大家能更好的理解wms海外仓系统,今天会介绍海外仓系统开发的逻辑架构,以及作为海外仓企业要怎么确定高性价比的数字化管理解决方案。 1、开发海外仓系统要考虑的功能…

IDEA 学习之 打开一个 MAVEN 工程

目录 1. 单体工程2. 多 module 工程3. 多个多 module 工程3.1. 重复 1 步骤3.2. 添加其他多 module 工程 1. 单体工程 2. 多 module 工程 3. 多个多 module 工程 3.1. 重复 1 步骤 3.2. 添加其他多 module 工程

红酒——这片大地孕育的液体宝石,背后藏着怎样的风土与传奇?

红酒,不仅是液体中的宝石,更是承载着无数风土与传奇的诗意之物。每一滴红酒都蕴含着大自然的馈赠,每一瓶都讲述着属于它自己的故事。今天,就让我们一起探寻红酒背后的风土与传奇,感受雷盛红酒文化所承载的文化底蕴。 一…

光储系统怎么选?天合储能工商业储能系统Potentia蓝海2震撼来袭

重塑光储设计,颠覆智造想象,2024年6月12日,天合光能“工商储进化论”新品发布会于上海浦东隆重召开,行业首款AI仿生液冷工商业储能系统Potentia蓝海2重磅登场。秉持产品优化、技术创新、服务精进、场景拓展的四维升级理念&#xf…

WeiXin Live Broadcast 2024.06.21

WeiXin Live Broadcast 2024.06.21 微信直播流程 微信直播,如果需要展示主播以及现场画面,需要摄像头和电脑端的直播推流软件。 基础设备:1)手机 2)笔记本带摄像头 3)手机数据线连接笔记本 4&#xff09…

Ollama深度探索:AI大模型本地部署的全面教程

目录 引言一、Ollama概述1、定义与定位2、核心功能3、技术优势4、应用场景 二、安装与配置1、系统要求2、安装方法3、配置指南4、启动Ollama服务 四、快速开始1、启动Ollama2、部署运行模型3、REEST API 五、自定义模型1、定制化的必要性2、使用Modelfile定制模型3、参数调整4、…

【SHA】-- 花样加密算法

可转链接: 勤奋的小牛–加密算法SHA SHA 算法 安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长…

【自撰写】【国际象棋入门】第7课 常见战术分析(二)牵制、驱赶和腾挪

第7课 常见战术分析(二)牵制、驱赶和腾挪 在《第6课:常见战术分析(一)吃双和抽将》中,我们通过一系列实际棋局的例子,简单介绍了“吃双”和“抽将”这两种十分常见的战术。本次课中&#xff0c…

Aigtek电压放大器的主要作用是什么

电压放大器是一种重要的电子设备,用于放大电压信号。它在许多电子系统和应用中发挥着关键的作用。本文将详细介绍电压放大器的主要作用和工作原理。 电压放大器是一种电子电路,它可以将输入信号的电压放大为更大的输出电压。放大器通过增加输入信号的幅度…

了解CDN:提升网络性能和安全性的利器

在当今的数字时代,网站性能和安全性是每一个网站管理员必须关注的核心问题。内容分发网络(CDN,Content Delivery Network)作为解决这一问题的重要工具,逐渐成为主流。本文将详细介绍CDN的定义、作用及其工作原理&#…

AIGC时代,重塑人的核心竞争力?

随着人工智能技术的飞速发展,AIGC(人工智能生成内容)的时代已经悄然而至。在这个时代,AI不再仅仅是一个技术概念,而是深入到我们生活的方方面面,从创作到生产,从娱乐到工作,AI都在以…

展厅设计关键因素有哪些

1、选择一站式服务公司 企业不论参加展会还是做展厅设计装修,其目的都是为了更好的展示公司的产品,从而促进与客户的合作。那么展厅设计首先是要找展厅设计公司来做的,不过现在市面上有很多公司都可以设计制作展厅,这就需要客户去…

.net8 blazor auto模式很爽(三)用.net8的Blazor自动模式测试,到底在运行server还是WebAssembly

Blazor自动模式到底什么时侯在运行server,什么时侯在运行WebAssembly。这个对我们来说非常重要,官方并没有很清楚地告诉我们。并且存在一些误导,让我们觉得自动模式就是不管我怎么弄,blazor都会自动识别该使用server还是WebAssemb…

springboot基于Web的社区医院管理服务系统 LW+ PPT+源码+讲解

3系统需求分析 3.1系统功能 通过前面的功能分析可以将社区医院管理服务系统的功能分为管理员、用户和医生三个部分,系统的主要功能包括首页、个人中心、用户管理、医生管理、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理…

人工智能在肿瘤检测以及癌症早筛中的最新研究|顶刊速递·24-06-21

小罗碎碎念 推文主题:人工智能在癌症检测以及早筛中的最新研究进展 之前有一篇推文介绍了哈佛发表的3D病理,当时应该有不少老师/同学对于数据的获取是有些懵的,那么今天你在第一篇文章中或许能找到答案。 一直看我推送的,并且不跳…

热点观察 | 全球社交应用IAP收入持续上升,小游戏、短剧出海赛道火热!

2024年进度条即将过半,回顾上半年,“Sora横空出世”、“短剧出海”、“小游戏爆款不断"给了我们太多惊喜,虽说如今市场竞争激烈、行业日趋饱和,但新技术、新需求也在快速跟上。下面,我们就来盘一盘近期全球手游和…

防护用具穿戴智能监测摄像机

防护用具穿戴智能监测摄像机在现代安全管理中扮演着越来越重要的角色。这些先进设备不仅仅是简单的监视工具,更是通过整合高级技术来提升工作效率和安全性,特别是在复杂环境和危险作业场所的应用日益广泛。 智能监测摄像机具备了高度精确的视觉识别能力&…

高清无字幕搞笑视频素材去哪里找哪里下载的?

在制作搞笑视频时,优质的无字幕视频素材对于提升作品的趣味性和吸引力至关重要。今天,我将为大家介绍一系列高清视频素材网站,这些网站不仅资源丰富、质量上乘,还能助你一臂之力,迅速提升视频的创意和品质。首先要推荐…

kylinos 国产操作系统离线安装firefox 麒麟操作系统安装新版本firefox

1. 火狐地址: 下载 Firefox 浏览器,这里有简体中文及其他 90 多种语言版本供您选择 2. 选择: 3. 下载完之后,上传到离线机器 4. 解压缩: tar -xvjf firefox-127.0.1.tar.bz2 5. 去点击解压后的文件夹,找…

NGINX_二十 nginx 监控

二十 nginx 监控 1 nginx的基础监控 进程监控端口监控 注意: 这两个是必须要加在zabbix监控,加触发器有问题及时告警。 web 服务器 nginx 以其高性能与抗并发能力越来越多的被用户使用 作为一款服务器产品,其运行状态是运维密切关注的&a…