WSL安装的Ubuntu与docker desktop集成

news2024/11/16 23:47:09

WSL安装的Ubuntu与docker desktop集成

最近因为项目需要,要在本地利用WSL搭建一个docker和Ubuntu的部署环境。一开始并不知道docker desktop与Ubuntu可以集成使用,所以在Ubuntu上独立安装了docker引擎,但在安装docker-compose的时候出现以下提示:

 rightkk@DESKTOP-AN87946:~$ docker-compose

The command 'docker-compose' could not be found in this WSL 2 distro.

We recommend to activate the WSL integration in Docker Desktop settings.

For details about using Docker Desktop with WSL 2, visit:

https://docs.docker.com/go/wsl2/

意思是说WSL建议使用WSL集成Docker Desktop来使用docker引擎和安装docker-compose。

WSL集成Docker Desktop的方法

Windows上的Docker desktop WSL 2后端

Windows Subsystem for Linux (WSL) 2是由Microsoft构建的完整Linux内核,它允许Linux发行版在不管理虚拟机的情况下运行。通过在WSL 2上运行Docker Desktop,用户可以利用Linux工作空间,避免同时维护Linux和Windows构建脚本。此外,WSL 2还改进了文件系统共享和引导时间。

Docker Desktop使用WSL 2中的动态内存分配特性来改善资源消耗。这意味着Docker Desktop只使用所需的CPU和内存资源,同时允许CPU和内存密集型任务(如构建容器)运行得更快。

此外,使用WSL 2,在冷启动后启动Docker守护进程所需的时间要快得多。

先决条件

在你打开Docker桌面WSL 2特性之前,确保你有:

最低WSL版本1.1.3.0。,但最理想的是最新版本的WSL,以避免Docker桌面不能像预期的那样工作。

满足Docker Desktop for Windows的系统要求。

在Windows上安装WSL 2特性。有关详细说明,请参阅Microsoft文档。

为了获得更好的WSL体验,请考虑启用WSL autoMemoryReclaim设置,从WSL 1.3.10(实验性)开始。

这个特性增强了Windows主机在WSL虚拟机中回收未使用内存的能力,确保其他主机应用程序的内存可用性得到改善。这个功能对Docker Desktop特别有益,因为它可以防止WSL VM在Docker容器镜像构建期间在Linux内核的页面缓存中保留大量内存(以gb为单位),而不会在虚拟机中不再需要时将其释放回主机。

打开Docker桌面WSL 2

重要

为了避免在Docker Desktop上使用WSL 2的任何潜在冲突,在安装Docker Desktop之前,必须卸载通过Linux发行版直接安装的任何先前版本的Docker Engine和CLI。

1、下载并安装最新版本的Docker Desktop for Windows。

2、按照通常的安装说明安装Docker Desktop。根据您使用的Windows版本,Docker Desktop可能会在安装过程中提示您打开WSL 2。读取屏幕上显示的信息并打开WSL 2特性以继续。

3、从Windows开始菜单启动Docker Desktop。

4、导航到设置。

5、从General选项卡中,选择Use wsdl 2 based engine..

如果你在支持WSL 2的系统上安装了Docker Desktop,这个选项默认是打开的。

6、选择Apply & Restart。

现在docker命令使用新的wsl2引擎在Windows上工作。

在wsl2发行版中启用Docker支持

WSL 2为Windows增加了对“Linux发行版”的支持,每个发行版的行为就像一个VM,只是它们都运行在一个共享的Linux内核之上。

Docker Desktop不需要安装任何特定的Linux发行版。docker的CLI和UI都可以在Windows上正常工作,而不需要任何额外的Linux发行版。然而,为了获得最佳的开发体验,我们建议至少安装一个额外的发行版并启用Docker支持:

1、确保发行版在wsl2模式下运行。WSL可以以v1或v2模式运行发行版。

要查看WSL模式,请执行命令:

wsl.exe -l -v

要将Linux发行版升级到v2,执行命令:

wsl .exe --set-version 2

要将v2设置为将来安装的默认版本,请执行以下命令:

wsl.exe --set-default-version 2

2、启动Docker Desktop后,进入“设置>资源> WSL集成”。

Docker-WSL集成是在默认的WSL发行版(Ubuntu)上启用的。要更改默认的WSL发行版,请运行:

wsl --set-default

3、选择Apply & Restart。

Docker Desktop安装了两个专用的内部Linux发行版Docker - Desktop和Docker - Desktop -data。第一个(Docker -desktop)用于运行Docker引擎(dockerd),而第二个(Docker -desktop-data)用于存储容器和映像。两者都不能用于一般开发。

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

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

相关文章

av1支持的CU划分

av1只有4叉划分支持递归划分 只有四叉允许递归划分,其余划分只划分到本层。最大编码单元也扩展到128x128,最小编码单元4x4。

“流处理引擎” RisingWave 的三种经典交互方式

作为流数据库,RisingWave 在大数据生态中通常扮演着流处理引擎的角色。它从各种数据源读取数据,并将其写入不同的目的地。在此过程中,RisingWave 清洗、转换和聚合数据,最终得出计算的结果。 RisingWave 为用户提供了丰富的交互和…

flask-socket的实践

1.长连接和短连接的由来 1)TCP在真正的读写操作之前,server与client之间必须建立一个连接, 当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接, 连接的建立通过三次握手,释放则需要四次握手…

哪种无线麦克风比较好?一文读懂什么品牌的无线麦克风比较好!

​在这个信息爆炸的时代,网络直播和短视频成为了人们获取信息、娱乐和社交的重要方式。作为自媒体人,拥有一款优秀的领夹式无线麦克风是必不可少的。它不仅能够帮助你在各种环境中保持清晰的声音,还能提升你的作品质量和专业度。然而&#xf…

中霖教育:二级建造师报名后缺考有影响吗?

在完成二级建造师的报名程序后,考生无法进行退考。如果是不参加考试,可以选择弃考。弃考对个人并没有负面影响,缺席考试的话也不会被记录在个人诚信档案中。当然,如果弃考的话此次考试的成绩将被记为0,下一年参加考试按…

极验行为式验证码适配Harmony 鸿蒙SDK下载

现阶段,越来越多的开发者正在积极加入鸿蒙生态系统。随着更多开发者的参与,早在去年9月,极验就成为首批拥有鸿蒙NEXT内测版本和手机系统测试机会的验证码供应商。 为了提高各开发者及企业客户集成鸿蒙版本行为验4.0的效率,方便大家…

CodeFuse 开源官网上线啦~

Hello ! 这里是 CodeFuse ~ CodeFuse 的使命是开发专门设计用于支持整个软件开发生命周期的大型代码语言模型(Code LLMs),涵盖设计、需求、编码、测试、部署、运维等关键阶段。我们致力于打造创新的解决方案,让软件开发者们在研发…

web开发学习(web简单入门)

前言: 从我刚接触博客没多久我就萌发了搭建一个个人博客网站的想法(用来装逼),但碍于学校屁事太多迟迟没有开始,最近学校课已经都差不多结课了,距离期末还有一段时间,我也得以抽出时间来学习我一…

设计模式原则——迪米特法则原则

设计模式原则 设计模式示例代码库地址: https://gitee.com/Jasonpupil/designPatterns 迪米特法则原则: 意义在于降低类之间的耦合。由于每个对象尽量减少对于其他对象的了解,因此,很容易使得系统的功能模块功能独立&#xff…

【产品经理】订单处理8-智能分仓

在电商ERP系统中,通常智能分仓策略是系统中最重要的功能之一,大公司若仓库较多时,智能分仓策略中也会加入大数据团队,通过算法来计算最优仓库。 本次讲解的智能分仓适用于中小公司,适合拥有2个以上10个以下仓库的公司…

『FPGA通信接口』LVDS接口(2)硬件设计

文章目录 1.LVDS原理2.xilinx器件对于LVDS的支持3.LVDS信号PCB布线要求4.传送门 1.LVDS原理 如上图所LVDS的工作原理示意图,其Driver驱动器由一个恒流源是LVDS发送端(通常为 3.5mA)驱动一对差分信号线组成。驱动状态会翻转就产生正负电压的变…

【分布式事务】分布式事务理论

CAP 理论 一致性(Consistency) 分布式系统中所有数据备份,在同一时刻是否是同样的值 可用性(Availability) 集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求 分区容错性(Partit…

【机器学习 复习】第5章 朴素贝叶斯分类器

一、概念 1.贝叶斯定理: (1)就是“某个特征”属于“某种东西”的概率,公式就是最下面那个公式。 2.朴素贝叶斯算法概述 (1)是为数不多的基于概率论的分类算法,即通过考虑特征概率来预测分类。 …

数字化转型中的数据资产价值发现之旅:通过深度挖掘与分析,释放数据资产的巨大潜力,为企业开拓更多商业机会,引领业务创新与发展

一、引言 随着信息技术的飞速发展,数字化转型已成为企业不可逆转的趋势。在这一转型过程中,数据资产作为核心驱动力,正逐渐展现出其巨大的商业价值。然而,如何有效挖掘和利用这些数据资产,将其转化为实际的生产力和创…

高位图像的增强处理 DR图像等

输入16位图像 经过增强算法处理后的输出:

vscode使用内置插件断点调试vue2项目

1、首先项目中要开启source-map 在vue.config.js 文件中 module.exports {configureWebpack: {devtool: process.env.NODE_ENV ! "production" ? "source-map" : ,} }2、项目根目录新建.vscode/launch.js文件 {"configurations": [{"ty…

五、在Qt下加载QVTKWidget控件(VTK8.2.0),生成Visual Studio项目,显示点云(C++)

前言:因为项目需要通过Qt进行显示点云,参考了很多博文,但是并没有全部正确的,东拼西凑算是实现了,花费了两天时间,时间有点久,能力还有有待提升~~ 为此写篇博文记录一下。感谢各位大佬&#xff…

Windows C++ 应用软件开发从入门到精通详解

目录 1、引言 2、IDE 开发环境介绍 2.1、Visual Studio 2.2、Qt Creator 3、 C语言特性 3.1、熟悉泛型编程 3.2、了解C/C异常处理 3.3、熟练使用STL容器 3.4、熟悉C11新特性 4、Windows 平台的编程技术与调试技能 4.1、需要掌握的若干编程技术和基础知识 4.2、需…

java文件处理

重命名文件-旧file.renameTo(新file) import java.io.File; /*** 文件重命名-ffmpeg合并文件时不允许覆盖原文件,所以合并时,修改源文件名,合并后文件名为源文件名** param fileName* return*/public String RenameFi…

Power Apps

目录 一、引言1、Power Apps2、应用场景3、Power Apps的优势与前景4、补充 二、数据源介绍1、SharePoint2、Excel3、Dataverse4、SQL5、补充(1)OneDrive 三、Power Apps应用类型1、画布应用2、模型驱动应用3、网站 Power Pages 四、Power Automate五、Po…