工欲善其事必先利其器 之 DockerDesktop(下)
工欲善其事必先利其器 之 DockerDesktop(下)
文章目录
- 工欲善其事必先利其器 之 DockerDesktop(下)
- 前言
- 一、DockerDesktop Settings
- 二、什么是 WSL 2?
- 三、Docker Desktop 为什么使用 WSL 2?
- 四、如何修改Docker Desktop镜像存放目录?
- 五、如何限制 DockerDesktop CPU、内存使用率
- 总结
- 声明
- 参考文献
前言
使用 DockerDesktop 拉取的镜像默认存放在 C:\Users\用户\AppData\Local\Docker
目录下,C盘资源比较宝贵,大量的镜像会占据C盘的大量空间,因此正常情况下都需要修改此目录。那么如何修改呢?
一、DockerDesktop Settings
我们先来了解下DockerDesktop Settings里相关功能。
DockerDesktop General界面
我们可以看到通用设置里只是一些基本设置
DockerDesktop Resources界面
我们再来看一下资源设置,可以看到有个 Advanced ,这个是用来限制资源使用率的。
DockerDesktop Docker Engine界面
我们再来看一下 Docker Engine 这里是Docker Configuration 功能区,比如 镜像加速 就是在这个地方进行配置。
DockerDesktop Experimental Features界面
这里我们可以看到是 Docker Compose 功能区。
DockerDesktop Kubernetes界面
最后一个,我们可以看到,这里是 Kubernetes 功能区。
了解完DockerDesktop Settings,我们并没有找到可以修改 C:\Users\用户\AppData\Local\Docker
的地方。这时我们就需要换个思路了,还记得安装DockerDesktop时,让我们安装的一个 WSL 2 backend
吗?这是什么东东呢?接下来,我们先来了解一下什么是 WSL 2
。
二、什么是 WSL 2?
WSL 2 是适用于 Linux 架构的 Windows 子系统的新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。它的主要目标是提高文件系统性能,以及增加完整的系统调用兼容性。
三、Docker Desktop 为什么使用 WSL 2?
Windows Subsystem for Linux (WSL) 2 引入了重大的架构变更,它是由 Microsoft 构建的完整 Linux 内核,允许 Linux 容器无需仿真即可在本机运行。通过在 WSL 2 上运行 Docker Desktop,用户可以利用 Linux 工作区并避免同时维护 Linux 和 Windows 构建脚本。此外,WSL 2 改进了文件系统共享、启动时间,并允许 Docker Desktop用户访问一些新功能。
Docker Desktop 使用了 WSL 2 中的动态内存分配特性,极大地提高了资源消耗。这意味着,Docker Desktop 仅使用其所需的 CPU 和内存资源量,同时使 CPU 和内存密集型任务(例如构建容器)运行得更快。
四、如何修改Docker Desktop镜像存放目录?
列出Windows Subsystem for Linux
wsl --list # 输出信息 适用于 Linux 的 Windows 子系统分发版: docker-desktop (默认) docker-desktop-data
关闭docker desktop
关闭 wsl
wsl --shutdown
将
docker-desktop
、docker-desktop-data
导出到指定目录wsl --export docker-desktop D:\SoftwareData\wsl\docker-desktop.tarwsl --export docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data.tar
注销
docker-desktop
、docker-desktop-data
wsl --unregister docker-desktopwsl --unregister docker-desktop-data
重新导入
docker-desktop
、docker-desktop-data
到要存放的文件夹wsl --import docker-desktop D:\SoftwareData\wsl\ D:\SoftwareData\wsl\docker-desktop.tar --version 2wsl --import docker-desktop-data D:\SoftwareData\wsl\ D:\SoftwareData\wsl\docker-desktop-data.tar --version 2
注:docker-desktop-data 默认存放路径,C:\Users\用户\AppData\Local\Docker
五、如何限制 DockerDesktop CPU、内存使用率
我们需要在 C:\Users\用户\
目录下创建一个 .wslconfig
文件
[wsl2]
#kernel=C:\\temp\\myCustomKernel
memory=4GB
swap=4GB
processors=2
相关配置参数
key | value | default | notes |
---|---|---|---|
kernel | string | The Microsoft built kernel provided inbox | An absolute Windows path to a custom Linux kernel. |
memory | size | 50% of total memory on Windows or 8GB, whichever is less; on builds before 20175: 80% of your total memory on Windows | How much memory to assign to the WSL 2 VM. |
processors | number | The same number of processors on Windows | How many processors to assign to the WSL 2 VM. |
localhostForwarding | boolean |
true
|
Boolean specifying if ports bound to wildcard or localhost in the WSL 2 VM should be connectable from the host via localhost:port. |
kernelCommandLine | string | Blank | Additional kernel command line arguments. |
swap | size | 25% of memory size on Windows rounded up to the nearest GB | How much swap space to add to the WSL 2 VM, 0 for no swap file. |
swapFile | string | %USERPROFILE%\AppData\Local\Temp\swap.vhdx | An absolute Windows path to the swap virtual hard disk. |
总结
以上就是本文的主要内容,本文介绍了 WSL 2,DockerDesktop 实践小技巧。本专栏后面的文章将带你认识其它的开发利器 ,敬请期待哦(*^▽^*)
。
声明
以上内容均来源于网络,如有错误,请多多包含。
参考文献
Docker Desktop
Docker Desktop WSL 2 backend
Configure global options with .wslconfig
Arguments for managing Windows Subsystem for Linux
工欲善其事必先利其器 之 DockerDesktop(下)相关推荐
- 工欲善其事必先利其器 之 DockerDesktop(上)
关键词:DockerDesktop.如何在桌面运行Docker.Docker容器 工欲善其事必先利其器 之 DockerDesktop(上) 文章目录 工欲善其事必先利其器 之 DockerDeskt ...
- 工欲善其事必先利其器 之 Minikube(上)
关键词:minikube.快速搭建kubernetes.快速搭建k8s.如何在桌面上运行一个k8s 工欲善其事必先利其器 之 Minikube (上) 文章目录 工欲善其事必先利其器 之 Miniku ...
- JVM - 工欲善其事必先利其器之虚拟机工具(下)
文章目录 JVM - 工欲善其事必先利其器之虚拟机工具(下) 1.可视化虚拟机工具JConsole 1.1 JConsole是什么? 1.2 JConsole的使用 1.2.1 概览 1.2.2 内存 ...
- 工业工程专业C语言,工欲善其事必先利其器——工业工程课程设置及其核心专业课简介...
新朋友点上方蓝字"IE臭皮匠"快速关注 公众号成立期间很多IE学子留言,说应聘时HR不知道工业工程是什么.能做什么,对此小编十分有同感.要想了解IE是什么.能做什么,首先要了解学了 ...
- github 著名php,工欲善其事必先利其器,盘点Github上那些优秀的PHP项目
工欲善其事必先利其器,作为一个开发者,了解并使用前人造好的轮子能让我们的开发事半功倍,在这里老宅整理了几个Github上有趣的php项目与大家分享. swoole Github仓库名称:swoole/ ...
- 工欲善其事必先利其器-C语言拓展–嵌入式C语言(一)
工欲善其事必先利其器-C语言拓展–嵌入式C语言(一) 我是golang出生,当时做项目的时候java.c++.js.python都折腾过,但是关于c语言的接触,基本上都停留在大一的那个暑假.后来因为要 ...
- 工欲善其事必先利其器,IDEA必装插件!
工欲善其事必先利其器,IDEA必装插件! 代码缩略图 CodeGlance 推荐指数:★★★★★ 用过sublime Text的都知道它第一印象就是编辑器最右边有一个缩略图,可以很好的对代码进行导航 ...
- # 工欲善其事必先利其器,让你的idea“飞”起来
工欲善其事必先利其器,让你的idea"飞"起来 文章目录 工欲善其事必先利其器,让你的idea"飞"起来 前言 img 1.经典的psvm,sout: 2.控制 ...
- # 工欲善其事必先利其器-C语言拓展--嵌入式C语言(四)
工欲善其事必先利其器-C语言拓展–嵌入式C语言(四) 零长度数组 零长度数组.变长数组都是GNU C编译器支持的数组类型. 什么是零长度数组? 首先肯定长度是为0的数组 ANSI C规定定义一个数组长 ...
最新文章
- get all table's information concerned
- python多线程下载ts_基于Python的ERA-5多线程下载(1)
- wordpress漏洞上传php文件夹,WordPress Asset-Manager PHP文件上传漏洞
- PPT设计里的小技巧
- 【2016年第6期】情境大数据建模及其在用户行为预测中的应用
- 轻松学c语言编程.pdf等,轻松学编程 轻松学C语言编程pdf
- 转:Subversion TortoiseSVN: Installed and started on Windows 2003 server and local machines
- php手动删除变量函数,PHP unset()函数销毁变量_PHP教程
- 四、Oracle的复杂查询
- php查询mysql表里的数据_PHP连接Mysql数据库读取表格数据
- S7-200SMART案例分析——伺服选型(一)
- C语言 十进制转换为二进制
- 开源mysql执行平台_MySQL自动化审核平台部署说明
- C/C++编程学习 - 第17周 ② 数字统计
- IE 浏览器 判断 增加 支持 IE8 IE9 IE10 IE11等 IE浏览器(是不是IE浏览器判断)
- Problem A: 薪酬计算
- 计算机c盘小了,为什么电脑C盘空间越来越小?
- MySQL编程实战三之求任务执行批次号
- C++智能指针详解(auto_ptr、unique_ptr、shared_ptr)
- Pots (bfs)