tnblog
首页
视频
资源
登录

Windows中 WSL2 与 Docker Desktop异常解决方案

25574人阅读 2022/6/23 16:08 总访问:3659329 评论:0 收藏:0 手机
分类: docker

Docker远征

Windows中 WSL2 与 Docker Desktop异常解决方案


前天,windows关机后第二天再次开机发现docker用不了,发现其中的容器也不见了。
找了很久发现wsl从2变成了1。(非常恶心)【子系统环境Ubuntu 18.04】
所以通过如下命令将它又从wsl1变为wsl2.

  1. wsl --set-default-version Ubuntu-18.04 2


不出几分钟,改成了原来的wsl2版本。


接着我们去子系统中的,启动我们的docker容器。

  1. service start docker


你会发现它过一会就失败,过一会就失败。我们通过如下命令查看日志。

  1. cat /var/log/docker.log


我这里显示是can't initialize iptables table 'nat': Table does not exist (do you need to insmod?)
然后我就去国内外导出找相关质料都不起作用,最后我发现/run/docker/containerd/containerd.sock这个文件根本没有。
所以我的解决方法是直接把/run/docker/目录删除了。

  1. rm -rf /run/docker/*


然后再次启动便成功了。
但是service是起来了但是本地都连接不上去。所以得把docker的连接地址更改为0.0.0.0.

  1. vim /etc/init.d/docker
  2. ...
  3. DOCKER_OPTS="-H tcp://0.0.0.0:2375"
  4. ...
  5. # 保存后重启服务就可以连接上了
  6. service docker restart


再来,Docker Desktop死活次次闪退,不得不卸载Docker Desktop。
控制面板—>程序—>卸载Docker Desktop


当然这样卸载是卸载不干净的,所以我们还需要删除以下几个目录中的数据。

  1. C:\Program Files\Docker
  2. C:\ProgramData\DockerDesktop
  3. C:\Users\你的用户名\.docker
  4. C:\Users\你的用户名\AppData\Local\Docker
  5. C:\Users\你的用户名\AppData\Roaming\Docker
  6. C:\Users\你的用户名\AppData\Roaming\Docker Desktop


然后再次安装Docker Desktop就可以了。
安装完成后,我们将设置wsl2中的docker-desktop-data保存到其他磁盘中,这里我们将备份保存到D:\dockerdata目录下,然后将现在的数据保存到D:\dockerdata\wsl下。

  1. # 停止所有的wsl
  2. wsl --shutdown
  3. # 导出docker数据
  4. wsl --export docker-desktop-data D:\dockerdata\docker-desktop-data.tar
  5. # 删除docker数据
  6. wsl --unregister docker-desktop-data
  7. # 重新导入docker数据
  8. wsl --import docker-desktop-data D:\dockerdata\wsl\ D:\dockerdata\docker-desktop-data.tar --version 2


然后重启子系统,以及docker。
到现在我们还有一个问题没有解决就是我们的本地挂载问题。

作为程序员我希望大家都能把数据库中的卷存储到本地,不要直接就运行容器,jenkins,容器仓库也是。


我们直接运行命令挂载windows本地卷是不行的。
需要关闭Use the WSL 2 based engine,点击Apply & Restart才会显示出Resources下的File sharing.然后在File Sharing下可以选择共享文件的路径。

希望大家这辈子都用不到我这次写的教程,不然太麻烦了。


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

Windows平台分布式架构实践 - 负载均衡

原文地址: https://www.cnblogs.com/atree/p/windows_loadbalancer.html 概述  最近.NET的世界开始闹腾了,微软官方终...

.NET Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

Windows下Redis的主从复制

Redis拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强...

Redis基础安装操作-Windows

一、下载 redis官方没有提供windows版本,需要从微软的git下载releases版二、安装,启动1.解压出来 启动服务 可能会双击会...

Windows 自带的netsh进行端口映射

使用netsh 把本地任意ip的25566端口 映射到192.168.81.234的25565端口netshinterfaceportproxyaddv4tov4listenaddress=0.0....

Windows使用wireshark抓包小心得

wireshrak是个网络抓包工具,常用。但是在数据较大的网络环境中直接使用软件抓包会导致wireshark卡死。为什么呢 ?网卡瞬间...

Windows下安装RabbitMQ

跳过舞,祝大家新年快乐哇!1、下载安装erlang因为rabbitmq是基于erlang实现的所以需要先安装erlang打开网址https://www.er...

NET CORE配置EF连接字符串。Windows验证的连接字符串配置

在appsettings.json中配置好连接字符串{"ConnectionStrings":{ "BloggingDatabase":"Server=(lo...

系统重装(一):安装制作Windows原装系统U盘

Windows是美国微软公司研发的跨平台及设备应用的操作系统.xinXP已经停止更新,微软也将在2020年1月14日正式结束对Windows 7...

通过Windows服务进行FTP服务器之间文件的传输

这几天做了一个关于FTP与服务器之间文件互相传输的Windows服务,本地开发的时候非常顺利,很快就开发完成了,可是将服务部...

系统重装(二):安装Windows系统

嗨,大家好!上一篇我们介绍了如何制作windows系统U盘,这一篇就来介绍一下如何安装。上一篇链接请点击:http://www.tnblog...

Windows系统下如何查看及升级powershell到3.0版本

最近在学习.net core,用到了SQLServer.Data.EntityFrameworkCore框架,在根据数据库表生成对应实体类时提示必须先升级本机...

Windows服务器 粘贴失败无法复制

windows服务器,复制粘贴失败,无法复制的问题重启rdpclip.exe进程即可

NotSupportedException: HTTP/2 over TLS is not supported on Windows 7 due to missing

.net core grpc报错:NotSupportedException: HTTP/2 over TLS is not supported on Windows 7 due to missing ALPN suppor...

启动grpc报错:HTTP/2 over TLS is not supported on Windows 7

.net core grpc报错:NotSupportedException: HTTP/2 over TLS is not supported on Windows 7 due to missing ALPN suppor...

c Windows sdk科大讯飞语音合成

只是记录一下思路需要把c++的dll转换成c#用的dll可以用这种方式导入,需要把下载的sdk,放到bll
这一世以无限游戏为使命!
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术