wsl配置ubuntu22.04,并配置docker

wsl配置ubuntu22.04,并配置docker

文章目录

  • wsl配置ubuntu22.04,并配置docker
    • 一、在Windows上安装Linux子系统
      • 前提条件
      • 安装步骤
    • 二、wsl安装系统到其他盘
        • ①查看wsl运行状态,将其保持在关闭状态
        • ②导出当前Linux的镜像
        • ③注销之前的系统并检查
        • ④导入镜像
        • ⑤配置先前设置的默认登录用户
    • 三、配置docker和docker-compose
      • Wsl2中的Ubuntu22.04安装Docker
      • docker指令必须用sudo执行
      • 配置Docker镜像源
    • 四、docker pull 报错Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)解决方法
    • 五、Docker关闭不掉进程,Stopping docker.service, but it can still be activated by: docker.socket

一、在Windows上安装Linux子系统

前提条件

  1. windows机器需要支持虚拟化,并且需要在BIOS中开启虚拟化技术,因为WSL2基于hyper-V。
    查看是否开启虚拟化
    按住Windows+R输入cmd打开命令行,输入

    systeminfo
    

    可以看到如下字样,代表电脑已经支持虚拟化,可继续安装

    Hyper-V 要求:     虚拟机监视器模式扩展: 是固件中已启用虚拟化: 是二级地址转换: 是数据执行保护可用: 是
    
  2. 无论是Windows10还是Windows11,所使用的Windows是最新版的,如果不是最新版,请在设置-Windows更新中将系统更新到最新版本

安装步骤

  1. 开启开发者模式

  2. 开启“适用于Linux的Windows子系统”:

    找到 控制面板-程序和功能-启用或关闭Windows功能,选中“适用于Linux的Windows子系统”和“虚拟机平台”,然后点击确定。需要重启电脑。

  3. 安装Linux分发版:

    1. 没有wsl的:下载Linux内核更新包,适用于 x64 计算机的 WSL2 Linux 内核更新包,安装。

    2. 有wsl的:直接终端输入

      wsl --update
      
  4. 启用虚拟机功能

    安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
    以管理员身份打开PowerShell并运行:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    

    这时需要重启电脑,等待电脑重新启动完成即可。

  5. 将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2
  1. 安装ubuntu22.04版本

    直接在微软商店搜索ubuntu22.04,下载完成就行

  2. 运行

    在开始菜单可以看到刚刚下载好的ubuntu22.04版本,直接双击运行,会提示输账户和密码,输入后就i能进去。(不输入就是默认root用户,需要自己添加账户)

    此时可以在此电脑中看到Linux,打开它可以看到Ubuntu的文件,后续与Ubuntu之间的文件操作可以从此处进行。

    image-20241114125151098

安装步骤就完成了。

二、wsl安装系统到其他盘

因为默认是安装ubuntu在C盘,那我一般不喜欢在C盘装软件,所以把ubuntu该到了D盘。

①查看wsl运行状态,将其保持在关闭状态

在powershell中输入代码:

wsl -l -v

img

图中STATE显示Running,就需要使用

wsl --shutdown

将其关闭,再次使用"wsl -l -v"确认状态

img

发现已经不在运行了

②导出当前Linux的镜像

在D盘根目录创建了新文件夹“Ubuntu2204”作为之后ubuntu的安装位置

在Powershell中输入代码:

wsl --export Ubuntu-22.04 H:\ubuntu22.04.tar 

其中,"Ubuntu-22.04"是使用"wsl -l -v"查看到的linux系统的名字和版本,“D:\ubuntu22.04.tar ”是在H盘的根目录下创建名为“ubuntu22.04.tar”的镜像

img

③注销之前的系统并检查

Powershell中输入:

wsl --unregister Ubuntu-22.04

再通过“wsl -l -v”,发现子系统已删除

img

④导入镜像
wsl --import Ubuntu-22.04 D:\Ubuntu2004 D:\ubuntu20.04.tar 

Ubuntu-22.04 Linux系统名称和版本
D:\Ubuntu2204 安装路径
D:\ubuntu22.04.tar 镜像所在位置
等待系统处理,在文件夹中看到vhdx文件即为导入成功

⑤配置先前设置的默认登录用户
ubuntu2204.exe config --default-user username

username替换成你先前输入的账户名,可以替换为root
至此ubuntu22.04迁移完成~!

三、配置docker和docker-compose

Wsl2中的Ubuntu22.04安装Docker

友情提示:确定为wsl2+ubuntu22.04,否则可能按照以下步骤会失败。若失败,请完全卸载后重装docker,并检查wsl版本

安装依赖包

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

添加阿里云镜像源和密钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加阿里云镜像源和密钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加阿里云镜像源

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

从软件源中更新安装工具包

sudo apt update
sudo apt uograde

安装Docker套件

sudo apt install docker-ce docker-ce-cli containerd.io

安装docker-compose

sudo apt install docker-compose

验证安装是否成功

docker --version

image-20241114130614313

docker-compose --version

启动docker

sudo service docker start

docker指令必须用sudo执行

默认情况下, Unix 套接字 (Unix socket)由用户 root 拥有,其他用户只能使用 sudo 访问它。 Docker 守护进程始终以 root 用户身份运行。

为了避免每次都加sudo,需要给现在的账户添加docker权限

创建Docker用户组

通常在安装 Docker 时会自动创建一个名为 docker 的用户组,但可以手动确保其存在:

sudo groupadd docker

将当前用户添加到docker 组

sudo usermod -aG docker $USER

配置Docker镜像源

1.创建Docker文件夹
sudo mkdir -p /etc/docker
2.写入个人镜像源
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://要写入的镜像源.cn"]
}
EOF
3.重启守护进程和docker引擎
sudo systemctl daemon-reload
sudo systemctl restart docker

测试镜像源配置成功

sudo docker pull hello-world

img

其他镜像源加速地址:

Docker 中国官方镜像 https://registry.docker-cn.com
DaoCloud 镜像站 http://f1361db2.m.daocloud.io
Azure 中国镜像 https://dockerhub.azk8s.cn
科大镜像站 https://docker.mirrors.ustc.edu.cn
阿里云 https://ud6340vz.mirror.aliyuncs.com
七牛云 https://reg-mirror.qiniu.com
网易云(常用) https://hub-mirror.c.163.com
腾讯云 https://mirror.ccs.tencentyun.com

四、docker pull 报错Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)解决方法

配置加速地址

vim /etc/docker/daemon.json

添加以下内容

{"registry-mirrors": ["https://docker.1panel.live"]
}

或者

{"registry-mirrors": ["https://docker.211678.top","https://docker.1panel.live","https://hub.rat.dev","https://docker.m.daocloud.io","https://do.nark.eu.org","https://dockerpull.com","https://dockerproxy.cn","https://docker.awsl9527.cn"]
}

{"registry-mirrors": ["https://docker.m.daocloud.io"]
}

保存

:wq

重启docker

systemctl daemon-reload
systemctl restart  docker

五、Docker关闭不掉进程,Stopping docker.service, but it can still be activated by: docker.socket

解决方法:

sudo service docker stopsystemctl stop docker.socket

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

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

相关文章

「QT」文件类 之 QDir 目录类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

expo5.2运行web报错Cannot find module ‘react‘

修改app.json中的web output 配置为 ‘single’ 可以解决 expo run web 这个错误问题 "web": {"bundler": "metro","output": "single","favicon": "./assets/images/favicon.png"},相关链接&#xff1…

Xcode 16 pod init失败的解决方案

目录 前言 一、错误重现 二、解决方案 1.右击项目修改文件展示方式 2.修改.xcodeproj文件 3.参考文档 前言 我们使用Xcode创建新项目之后&#xff0c;执行pod init报错。我们看一下如何解决。 一、错误重现 RuntimeError - PBXGroup attempted to initialize an object …

Mysql-DDL语句

文章目录 DDL 语句DDL 操作库创建数据库修改数据库使用数据库 DDL 操作表Mysql 的数据类型创建表修改表结构 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Mysql专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年11月14日11点30分 DDL 语…

css三角制作(二十课)

代码&#xff1a; <style>/* 边框原理 */.box1 {width: 0;height: 0;border-top: 100px solid pink;border-bottom: 100px solid blue;border-left: 100px solid yellow;border-right: 100px solid greenyellow;}/* 三角制作 */.box2 {width: 0;height: 0;border: 100px …

高效稳定!新加坡服务器托管方案助力企业全球化布局

在全球化的商业环境中&#xff0c;企业对于高效、稳定的服务器托管方案的需求日益迫切。作为亚洲的服务器托管中心&#xff0c;新加坡凭借其独特的地理位置、稳定的政治环境、先进的科技设施以及开放的市场政策&#xff0c;为企业提供了理想的服务器托管解决方案&#xff0c;助…

【51单片机】LCD1602液晶显示屏

学习使用的开发板&#xff1a;STC89C52RC/LE52RC 编程软件&#xff1a;Keil5 烧录软件&#xff1a;stc-isp 开发板实图&#xff1a; 文章目录 LCD1602存储结构时序结构 编码 —— 显示字符、数字 LCD1602 LCD1602&#xff08;Liquid Crystal Display&#xff09;液晶显示屏是…

【Python · PyTorch】卷积神经网络(基础概念)

【Python PyTorch】卷积神经网络 CNN&#xff08;基础概念&#xff09; 0. 生物学相似性1. 概念1.1 定义1.2 优势1.2.1 权重共享1.2.2 局部连接1.2.3 层次结构 1.3 结构1.4 数据预处理1.4.1 标签编码① One-Hot编码 / 独热编码② Word Embedding / 词嵌入 1.4.2 归一化① Min-…

Qt 之 qwt和QCustomplot对比

QWT&#xff08;Qt Widgets for Technical Applications&#xff09;和 QCustomPlot 都是用于在 Qt 应用程序中绘制图形和图表的第三方库。它们各有优缺点&#xff0c;适用于不同的场景。 以下是 QWT 和 QCustomPlot 的对比分析&#xff1a; 1. 功能丰富度 QWT 功能丰富&a…

谷歌DeepMind推出了一种新的方式来“窥探”AI的“内心”

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

PowerBI 用RANK,RANKX和TOPN 排名的简单示例

1. 销量表 2. 添加计算总销量的度量值&#xff0c;它将在RANK和RANKX里被使用 总销售量 SUM(销量[销售量]) 3.计算排名的度量值 RANK函数 排名 RANK(ALL(销量[产品]),ORDERBY([总销售量],DESC)) RANKX函数: 排名2 RANKX(ALL(销量),[总销售量],,DESC,Skip) 4.页面上添…

【EmbeddedGUI】脏矩阵设计说明

脏矩阵设计说明 背景介绍 一般情况下&#xff0c;当屏幕内容绘制完毕后&#xff0c;实际应用通常需要更新屏幕中的一部分内容&#xff0c;而不是单纯显示一个静态图片在那。 如下图所示&#xff0c;屏幕中有一个图片控件&#xff08;Img2&#xff09;和一个文本控件&#xf…

「QT」文件类 之 QTextStream 文本流类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

mysql 配置文件 my.cnf 增加 lower_case_table_names = 1 服务启动不了的原因

原因&#xff1a;在MySQL8.0之后的版本&#xff0c;只允许在数据库初始化时指定&#xff0c;之后不允许修改了 mysql 配置文件 my.cnf 增加 lower_case_table_names 1 服务启动不了 报错信息&#xff1a;Job for mysqld.service failed because the control process exited …

PVE纵览-安装系统卡“Loading Driver”的快速解决方案

PVE纵览-安装系统卡“Loading Driver”的快速解决方案 文章目录 PVE纵览-安装系统卡“Loading Driver”的快速解决方案摘要通过引导参数解决PVE安装卡在“Loading Driver”问题官方解决方法 关键字&#xff1a; PVE、 显卡、 Loading、 Driver、 nomodeset 摘要 在虚拟机…

[Android]相关属性功能的裁剪

1.将home界面的search bar 移除 /src/com/android/launcher3/graphics/LauncherPreviewRenderer.java // Add first page QSBif (FeatureFlags.QSB_ON_FIRST_SCREEN) {CellLayout firstScreen mWorkspaceScreens.get(FIRST_SCREEN_ID);View qsb mHomeElementInflater.infla…

Git的概念、安装、操作与分支管理和图形化界面TortoiseGit(小乌龟 )的安装与使用

目录 一、Git 概述 简介 安装 使用场景 二、Git 操作详解 使用git管理文件版本 使用 Git 管理代码 三、分支操作 使用小乌龟操作分支 创建新的分支 两个分支合并 四、总结 在当今的软件开发和文档编写等领域&#xff0c;版本控制工具至关重要。Git 作为其中的佼佼者…

边缘计算在智能制造中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 边缘计算在智能制造中的应用 边缘计算在智能制造中的应用 边缘计算在智能制造中的应用 引言 边缘计算概述 定义与原理 发展历程 …

设计模式之装饰器模式(SSO单点登录功能扩展,增加拦截用户访问方法范围场景)

前言&#xff1a; 两个本想描述一样的意思的词&#xff0c;只因一字只差就让人觉得一个是好牛&#xff0c;一个好搞笑。往往我们去开发编程写代码时也经常将一些不恰当的用法用于业务需求实现中&#xff0c;但却不能意识到。一方面是由于编码不多缺少较大型项目的实践&#xff…

使用热冻结数据层生命周期优化在 Elastic Cloud 中存储日志的成本

作者&#xff1a;来自 Elastic Jonathan Simon 收集数据对于可观察性和安全性至关重要&#xff0c;而确保数据能够快速搜索且获得低延迟结果对于有效管理和保护应用程序和基础设施至关重要。但是&#xff0c;存储所有这些数据会产生持续的存储成本&#xff0c;这为节省成本创造…