在winnas中使用docker desktop遇到的问题及解决方法记录

最近在尝试从群晖转向winnas,一些简单的服务依然计划使用docker来部署。群晖的docker简单易用且稳定,在win上使用docker desktop过程中遇到了不少问题,在此记录一下以供后来人参考。

一、安装docker desktop后启动时遇到无法启动docker引擎

原因一:没有安装wsl

解决方法:安装wsl。网上安装wsl的教程还是不少,参考教程安装即可。

注意事项(1)安装wsl过程中遇到0x80072EE7错误

解决方法:

1.    管理-服务-中打开windows update; 

 2.   dns设置为4.2.2.1

注意事项(2):安装wsl过程中遇到0x80072ee2错误

问题原因,无法访问远程服务器(网络)

解决方法:手动下载wsl分发版本安装(网上搜索能搜到如何手动下载安装),或者想办法访问外网。

原因二:要把wsl内核版本从1升到2:

获取WSL2 Linux内核更新包并运行

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

将 WSL 2 设置为默认版本

命令行运行:

wsl --set-default-version 2

然后再更新wsl内核

wsl --update

参考:

如何使用 wsl --update 命令来更新WSL的内核?

更新WSL(Windows Subsystem for Linux)内核的步骤可能会因Windows版本的不同而有所差异。以下是在不同Windows版本上使用wsl --update命令更新WSL内核的步骤:

在Windows 11上更新WSL内核:

  1. 点击Windows 11的“开始”按钮。
  2. 搜索“命令提示符”,在搜索结果中右击“命令提示符”,并选择“以管理员身份运行”选项。
  3. (可选)输入以下命令以确认当前的WSL版本,然后按“Enter”键:wsl --version
  4. 输入以下命令以更新WSL,并按“Enter”键:wsl --update
  5. (可选)输入以下命令以确认已安装了最新的内核更新,然后按“Enter”键:wsl --version
  6. (可选)输入以下命令以恢复到WSL的先前版本,然后按“Enter”键:wsl --update --rollback
  7. 完成以上步骤后,如果有可用的更新,它将下载并安装到你的电脑上​1​。

在Windows 10上更新WSL内核:

  1. 点击“开始”按钮。
  2. 搜索“命令提示符”,在搜索结果中右击“命令提示符”,并选择“以管理员身份运行”选项。
  3. 输入以下命令以更新WSL内核,并按“Enter”键:wsl --update
  4. 等待命令执行完成,它会自动检查并下载可用的内核更新​2​。

二、docker desktop(wsl)内存开销大,通过配置文件限制内存使用

标题并不准确,应该是wsl内存消耗大,为了好理解,统称为docker内存开销大。

我的winnas跑在一个小工控机上,性能差,内存只有8GB,内存消耗敏感。wsl开始默认就占了快4GB,所以要通过wsl配置文件限制内存消耗。

配置wsl有两种方法,一种是全局配置;一种是单个wsl分发版配置,网上都有不少教程。

微软官方文档如下:

WSL 中的高级设置配置 | Microsoft Learn

我用到了全局配置:

修改C:\Users\【用户名】文件夹下的.wslconfig文件,就可以更改wsl全局配置。

注意事项(1):这个文件夹下没有这个文件的,直接自己新建一个就行,.txt文件改.wslconfig就可以。

注意事项(2):不同win版本的可配置项是不同的,具体参考微软官方文档。

我的是win10,借用网上前辈的配置,简单改了一下,供参考:

[experimental]
#自动释放内存
autoMemoryReclaim=gradual
#网络镜像模式
#networkingMode=mirrored
#hostAddressLoopback=true

[wsl2] 

memory=800MB
swap=0GB


#共用 Windows DNS、防火墙、代理设置
dnsTunneling=true
firewall=true
autoProxy=true

注意事项(3):8秒规则,wsl完全停止需要8秒

wsl在手动停止运行后是需要时间将全部服务停止的,一般会需要8秒左右。wsl8秒完全停止后,再重新启动才会正确读取更新的配置文件。如果wsl停止后立即改变配置文件立即重启,是有可能不会读取新修改的配置文件,还会沿用上一次配置。

注意事项(4):wsl最小内存配置800MB。

我个人简单测试了一下,在docker容器很少,很低负载情况下,wsl也需要800MB内存才能稳定运行。在700MB内存下就会出现wsl或容器停止运行的情况,不稳定。

内存配置仅供参考。

判断docker运行情况的小技巧:

在docker desktop主界面中【Container memory usage】和左下角【RAM】都正常显示数值的时候,wsl就在正常运行。这两个数值任何一个不正常显示数据了wsl就是崩了。

三、docker desktop设置容器自动重启

通常希望容器在遇到问题停止后能够自动重启。

(1)容器部署时设置自动重启

查查网上教程吧。

(2)容器部署后设置自动重启

通过命令行更新单个容器配置:

docker update --restart=【重启方式参数】 【容器ID(或者容器名)】

如:

docker update --restart=unless-stopped ABCDFEGHI

常用重启方式参数:

no:容器非正常退出时不重启。

on-failure:容器因错误退出时重启,重启次数可以限制。

always:无论退出状态如何,总是重启容器。

unless-stopped:容器退出后总是重启,除非它被用户明确停止。

容器ID:
在docker desktop中可以查看并复制。

以上。有帮到你的话请留个言回复一下。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

构建数字未来:探索Web3在物联网中的新视角

引言 随着Web3时代的来临,物联网技术正迎来一场新的变革。在这个数字化时代,Web3所带来的技术创新将为物联网的发展开辟新的视角。本文将深入探讨Web3在物联网领域的应用,揭示其在构建数字未来中的重要性和影响。 Web3与物联网的融合 区块链…

运用HTML、CSS设计Web网页——“西式甜品网”图例及代码

目录 一、效果展示图 二、设计分析 1.整体效果分析 2.头部header模块效果分析 3.导航及banner模块效果分析 4.分类classify模块效果分析 5.产品展示show模块效果分析 6.版权banquan模块效果分析 三、HTML、CSS代码分模块展示 1. 头部header模块代码 2.导航及bann…

QQ个性网空间日志网站模板源码

QQ个性网空间日志网站模板源码自带后台登录设置,适用于博客、文章、资讯、其他类网站内容使用。模板自带eyoucms内核,原创设计、手工书写DIVCSS,完美兼容IE7、Firefox、Chrome、360浏览器等;主流浏览器;结构容易优化;多终端均可正常预览。由于…

保安维稳,四信以科技构筑高速公路安全智慧防线

近日,广东梅大高速发生严重塌方事故,造成了严重的人员伤亡和财产损失。这一事件在公众心中敲响了安全的警钟,再次引起了公众对于交通设施运营安全性的重点关注。 国务院安委会办公室和国家防灾减灾救灾委员会办公室等主管机构先后印发紧急通知…

FuTalk设计周刊-Vol.053

#AI漫谈 热点捕手 1.Midjourney推出新功能Room 用户可在聊天室中一起创作图像 Midjourney最近推出了一个有趣的新功能——Room,为用户提供了一个协作和社交平台,用户可以一起创建和分享图像,并参与实时聊天。Room促进了用户之间的互动和合作…

Mujava 工具的简单使用

首先下载openjava.jar和mujava.jar,以及自己手写一个mujava.config指向存放mujava的目录,并将这些文件放在mujava目录下。此时,基本的mujava环境就搭建好了。 分别创建src(存放源码文件)、classes(存放源码…

excel poi的titleRows 和 headRows含义

titleRows 这个参数的意思是:excel标题占多少行,而不是第几行headRows 这个参数的意思是:excel表头占几行,而不是第几行(多行的意思是合并的行数) 比如有一个excel如下,1-2行是标题&#xff0c…

webstorm新建vue项目相关问题

前言 这个迭代后端需求偏少,前端code的键盘都起火星子了。来了4个外包支持,1个后端3个前端,还是不够用啊。刚好趁这个机会稍微学习下vue,其实之前环境也配置过了,所以这里就不分享环境配置了,主要分享下新建…

Orangepi Zero2 linux系统摄像头设备文件名固定

文章目录 1. 寻找设备规则2. 使用udev规则修改挂载设备文件名称 问题: 在多次插拔usb摄像头或者在使用中不小心碰到或松了会导致设备文件名称变化,如从/dev/video1和/dev/video2变为/dev/video2和/dev/video3, 所以每次发生变化后都要充型修改代码或者重…

安全访问python字典:避免空键错误的艺术

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、直接访问字典键的问题 三、使用get方法安全访问字典键 四、get方法的实际应…

C语言中的七种常用排序

今天&#xff0c;为大家整理了C语言中几种常用的排序&#xff0c;以及他们在实际中的运用&#xff08;有Bug请在下方评论&#xff09;&#xff1a; 一.桶排序 #include <stdio.h> int main() {int book[1001],i,j,t,n;for(i0;i<1000;i)book[i]0;scanf("%d"…

第八节 条件装配案例讲解

一、条件装配的作用是什么 条件装配是 Spring 框架中一个强大的特性&#xff0c;使得开发者能够创建更加灵活和可维护的应用程序。在 Spring Boot 中&#xff0c;这个特性被大量用于自动配置&#xff0c;极大地简化了基于 Spring 的应用开发。 二、条件装配注解 <dependen…

为什么要用虚拟时钟Virtual clock?

通常RTL设计要求对芯片/module的输入信号进行reg_in打拍处理&#xff0c;对芯片/module的输出也要求做reg_out打拍处理&#xff0c;这是良好的代码习惯&#xff0c;为时序收敛留下足够裕量&#xff0c;也避免顶层例化综合后的子模块时出现模块间IO时序不满足的情况。综合阶段可…

DNF手游攻略:角色培养与技能搭配!游戏辅助!

角色培养和技能搭配是《地下城与勇士》中提升战斗力的关键环节。每个职业都有独特的技能和发展路线&#xff0c;合理的属性加点和技能搭配可以最大化角色的潜力&#xff0c;帮助玩家在各种战斗中立于不败之地。接下来&#xff0c;我们将探讨如何有效地培养角色并搭配技能。 角色…

亿图图示——文本换行

一、点击文本框&#xff0c;选择更多 二、勾选文本换行

数据结构和算法基础(二)

树和二叉树——树的基本概念 树和二叉树——树转二叉树 树和二叉树——查找二叉树&#xff08;二叉排序树&#xff09; 树和二叉树——构造霍夫曼树&#xff08;最优&#xff09; 树和二叉树——线索二叉树 树和二叉树——平衡二叉树 图——基本概念 1、有向图 2、无向图 3、完…

Platformer Project

Platformer项目适合那些寻找坚实基础来构建你梦想中的3D平台游戏的人,提供受该类型最具影响力游戏启发的核心机制。 一般功能 移动支持; 自定义运动学角色控制器; Humanoid Rig支持(共享动画); 保存/加载(二进制、JSON或Playerprefs); 支持多个存储槽; 三星、硬币和最…

Dockerfile使用

1.Dockerfile是什么 官网地址 https://docs.docker.com/reference/dockerfile/概念 是什么 Dockerfile 是用于构建 Docker 镜像的文本文件&#xff0c;它包含一系列的指令&#xff08;instructions&#xff09;和参数&#xff0c;用于描述如何构建和配置镜像。 Dockerfile 是…

微信小程序中van-tab的title(动态)根据文本内容,自适应宽度

小程序van-tab的title&#xff08;动态&#xff09;根据文本内容&#xff0c;自适应宽度 效果图代码主要调整点 效果图 代码 <van-tabs color"#00aaff" active"{{ active }}" bind:click"onTabChange"><van-tab title"7天内&quo…

游戏后台开发技术全面解析

在这个数字时代&#xff0c;游戏产业已经成为全球最受欢迎的娱乐方式之一。从简单的手机游戏到复杂的大型多人在线角色扮演游戏&#xff08;MMORPG&#xff09;&#xff0c;游戏的世界正变得越来越丰富和多样化。而这一切的背后&#xff0c;都离不开强大的游戏后台技术支持。在…