Win10安装docker遇到的坑

2023-11-13

记录下Win10安装docker遇到的坑:
首先win10是分版本的,这里举例其中两个版本“家庭版”和“企业版”。我电脑的操作系统之前是家庭版的,安装了Docker Desktop,又启用了hyper -v ,安装成功后使用docker version可以查看版本号,但是执行docker常用的命令,就报错。后发现家庭版的要装 Docker Toolbox,遂又换成此版本,发现还是报错,网上各种说法都有,有虚拟机原因啊、有的说是家庭版就不能安装。后面没办法,把系统升级成win10专业版,下载InstallDocker.msi安装成功查看版本是1.12.3,使用爽的一笔。后面我又手痒,感觉1.12.3太低想升级。查资料想看看有没有偷懒的办法直接升级,事实告诉我,别浪费时间了,净扯淡。卸载重装,下载了Docker Desktop4.0.0 安装成功后我又遇到了第一次的问题,执行任何Docker的命令(images、ps等)报错,瞬间崩溃。。。
还是打起精神,仔细打量重启docker,弹窗提醒我看一个官网文档,后面按着步骤解决了。这一路太坎坷…

步入正题,问题与解决方案如下:

   **安装Docker Desktop后,查询版本成功,执行命令会报错**:

error during connect: This error may indicate that the docker daemon is not running.: Get “http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json”:open//./pipe/docker_engine: The system cannot find the file specified.

解决方案:
参考官方:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-4—download-the-linux-kernel-update-package

步骤 4 - 下载 Linux 内核更新包

  1. 下载最新包:
    o 适用于 x64 计算机的 WSL2 Linux 内核更新包
    备注
    如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:systeminfo | find “System Type”。 警告: 在非英语 Windows 版本中,你可能需要修改搜索文本,例如在德语中为 systeminfo | find “Systemtyp”。
  2. 运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)
    安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。 (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)
    备注
    有关详细信息,请参阅 Windows 命令行博客上的文章对更新 WSL2 Linux 内核的更改。

步骤 5 - 将 WSL 2 设置为默认版本

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

步骤 6 - 安装所选的 Linux 分发

  1. 打开 Microsoft Store,并选择你偏好的 Linux 分发版。
    在这里插入图片描述

单击以下链接会打开每个分发版的 Microsoft Store 页面:
o Ubuntu 18.04 LTS
o Ubuntu 20.04 LTS
o openSUSE Leap 15.1
o SUSE Linux Enterprise Server 12 SP5
o SUSE Linux Enterprise Server 15 SP1
o Kali Linux
o Debian GNU/Linux
o Fedora Remix for WSL
o Pengwin
o Pengwin Enterprise
o Alpine WSL
2. 在分发版的页面中,选择“获取”。
在这里插入图片描述

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码。
在这里插入图片描述

祝贺你!现已成功安装并设置了与 Windows 操作系统完全集成的 Linux 分发!
安装 Windows 终端(可选)
Windows 终端可启用多个选项卡(在多个 Linux 命令行、Windows 命令提示符、PowerShell 和 Azure CLI 等之间快速切换)、创建键绑定(用于打开或关闭选项卡、复制粘贴等的快捷方式键)、使用搜索功能,以及使用自定义主题(配色方案、字体样式和大小、背景图像/模糊/透明度)。 了解详细信息。
安装 Windows 终端。
在这里插入图片描述

将分发版版本设置为 WSL 1 或 WSL 2
可打开 PowerShell 命令行并输入以下命令(仅在 Windows 内部版本 18362 或更高版本中可用),检查分配给每个已安装的 Linux 分发版的 WSL 版本:wsl -l -v
PowerShell复制
wsl --list --verbose
若要将分发版设置为受某一 WSL 版本支持,请运行:
PowerShell复制
wsl --set-version
请确保将 替换为你的分发版的实际名称,并将 替换为数字“1”或“2”。 可以随时更改回 WSL 1,方法是运行与上面相同的命令,但将“2”替换为“1”。
备注
从 WSL 1 更新到 WSL 2 可能需要几分钟才能完成,具体取决于目标分发版的大小。 如果从 Windows 10 周年更新或创意者更新运行 WSL 1 的旧(历史)安装,可能会遇到更新错误。 按照这些说明卸载并删除任何旧分发。
如果 wsl --set-default-version 结果为无效命令,请输入 wsl --help。 如果 --set-default-version 未列出,则表示你的 OS 不支持它,你需要更新到版本 1903(内部版本 18362)或更高版本。 如果你在使用 ARM64 版本 19041,那么当使用 PowerShell 时,此命令可能会失败;在这种情况下,你可使用命令提示符,而不是发出 wsl.exe 命令。
运行命令后如果看到此消息:WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel。 仍需要安装 MSI Linux 内核更新包。
此外,如果要使 WSL 2 成为你的默认体系结构,可以通过此命令执行该操作:
PowerShell复制
wsl --set-default-version 2
这会将安装的任何新分发版的版本设置为 WSL 2。

结束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win10安装docker遇到的坑 的相关文章

  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • 有关 CredEnumerate 的帮助

    作为后续this https stackoverflow com questions 199518 how to programatically add mapped network passwords winxp我希望有人可以帮助解决这个
  • TCHAR 仍然相关吗?

    我是 Windows 编程新手 在读完 Petzold 的书后 我想知道 使用TCHAR类型和 T 函数来声明字符串或者我应该使用wchar t and L 新代码中的字符串 我将仅针对现代 Windows 截至撰写本文时版本 10 和 1
  • 无法通过docker连接到ASP.NET Core

    大家好 人们已经关注这个问题太久了 需要一些帮助 我制作了一个 ASP NET Core 网站 没有什么特别的 只是 VS 2017 v 1 1 附带的模板 我使用 dotnet core cli 发布网站并使用此 dockerfile 构
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 如何使用批处理文件创建 EXE 可执行文件? [复制]

    这个问题在这里已经有答案了 我希望能够简单地运行 Windows 批处理文件并让它创建 exe 可执行文件 我知道您可以使用以下脚本批量创建文件 echo off echo This will be in a text file gt gt
  • 如何从笔记本电脑检测电源按钮事件并在 Windows 7 上拒绝它

    在 Windows XP 上 我可以在按下笔记本电脑的电源按钮时检测到事件 获取APMQUERYSUSPEND事件的条件是 控制面板 gt 电源选项 gt 系统设置 gt 按下电源按钮时 gt 睡眠 选项必须更改为 睡眠 MainFrm O
  • 在 Windows 上构建 Docker 映像:入口点脚本“没有这样的文件或目录”

    我在这上面浪费了两天时间 直到我终于解决了我的问题 所以我想我会分享 我将概述我在这里遇到的问题 然后概述答案中的解决方案 My Dockerfile看起来像这样 FROM php 7 2 fpm COPY custom docker ph
  • docker 主机 (OSX) 上的关闭端口在内部 docker 网络上保持/报告打开状态

    在 OSX 12 3 上将 Docker 升级到 4 6 0 后 当我停止 PHPStorm 中的 xdebug 监听客户端时 我遇到了一些奇怪的问题 似乎后续请求总是超时 因为 docker 报告 host docker internal
  • 验证域用户凭据

    我需要一种方法来验证 Windows 上本机 C 的用户 密码对 输入的是用户名和密码 用户可以是 DOMAIN user 格式 基本上我需要编写一个函数 如果用户 密码是有效的本地帐户 则返回 true 第1部分 如果用户 密码在给定的域
  • Spring Cloud Gateway 无法在 Docker 上运行

    我已经配置了一个 Spring Cloud 网关来重定向到使用以下路由创建的服务器 Bean public RouteLocator myRoutes RouteLocatorBuilder builder return builder r
  • MinGW g++ 在自己的包含目录中找不到标头

    所以我最近通过最新版本安装了 MinGWnuwen 的 MinGW 发行版 http nuwen net mingw html其中包括 boost C 库 具体来说 我正在寻找 boost 库提供的scoped ptr 但是 当我尝试包含s
  • 添加到 .NET 任务栏中的右键单击应用程序菜单

    大多数应用程序只有 恢复 移动 调整大小 最小化 最大化和关闭 但是MS SQL提供了额外的选项 帮助 自定义视图 按照这些思路 是否可以添加到任务栏中应用程序的右键单击菜单 注 我是not指通知区域中时钟旁边的图标 这是一个更简单的ans
  • 微软怎么能说WinAPI中一个字的大小是16位呢?

    我刚刚开始学习WinAPI 在MSDN中 对WORD数据类型提供了以下解释 WORD16 位无符号整数 范围是十进制 0 到 65535 该类型在 WinDef h 中声明如下 typedef 无符号短 WORD 很简单 而且它与我一直在使
  • 在 python 2 或 python 3 中编写 csv 文件的便携式方法

    在我的 Windows 机器上 我通常在 python 2 中这样做来编写 csv 文件 import csv f open out csv wb cr csv writer f delimiter cr writerow a b c f
  • pq:无法调整共享内存段的大小。设备上没有剩余空间

    我在仪表板上有许多面板 数量约为 6 个 用于显示数据点图表 对 PostgreSQL 数据库的 Dockerized 实例进行查询 直到最近 面板都工作正常 有些面板停止工作并报告如下错误 pq 无法将共享内存段 PostgreSQL 2
  • 如何使用 cython 编译扩展?

    我正在尝试从示例页面编译一个简单的 cython 扩展here http docs cython org src userguide tutorial html在我安装了 Python 2 6 64 位版本的 Windows 7 64 位计
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 如何从页眉和/或页脚确定 PE 可执行文件的大小

    假设您有要雕刻的数据流或字节块 如何确定可执行文件的大小 PE 可执行文件格式中有许多标头 但是我使用哪些标头部分来确定 如果可能 可执行文件的总长度 这是文件格式的图片 如果PE文件格式良好 计算可以简化为 伪代码 size IMAGE
  • win32 GUI 应用程序在作为“app.exe --help”调用时将使用文本写入标准输出

    如何创建执行以下操作的 Windows 应用程序 当不使用命令行参数调用时 它是一个常规的 GUI 应用程序 指定可选的 help 命令行参数会导致应用程序将使用文本写入标准输出 然后终止 它必须是单个可执行文件 让控制台应用程序执行第二个

随机推荐

  • 常用的方法封装成Jar包并调用

    在android开发过程中 我们经常会有这种需求 自己封装一个类库jar包 1 把自己写好的封装类只是代码的 直接在Eclipse中导出jar包 在所需要的项目中引用即可 2 如果代码中涉及到res资源文件的调用 通用的方法是把res资源文
  • 类中自身类的对象不能做自己的数据成员

    C 中为什么类中自身类的对象不能做自己的数据成员 但是做静态数据成员 引用类数据成员等可以 pre class cpp student private student a 错误 student b 正确 static student c 正
  • 备战数学建模1-MATLAB矩阵相关

    目录 一 数值数据 二 常用函数 三 变量及其操作 四 矩阵的基础应用 五 MATLAB基本运算 六 字符串处理 七 特殊矩阵 八 矩阵变换 九 矩阵求值 十 矩阵的特征值与特征向量 十一 稀疏矩阵 一 数值数据 1 整型 整型分为有符号整
  • JEESITE4实战之旅(五) 多数据源和图表

    前段时间有点忙 今天得空赶紧继续移植工作 今天要说一说多数据源的配置 自定义复杂查询 以及图表的操作 当然还是根据业务需求来 最近客户想让我在新系统上加一个销售汇总的功能 按月统计各个部门的销售额 废话 不多说 先上最终的效果图 因为汇总的
  • 数组扁平化(flatten)实现方案

    1 2 3 1 2 3 1 2 gt 1 2 3 1 2 3 1 2 上面的转换就是数组的扁平化 将一个嵌套多层的数组 array 转换为只有一层的数组 下面是实现数组扁平化的几种简单方法 1 递归 function flatten1 ar
  • 全量数据同步与数据校验实践——应对百亿量级分库分表异构库迁移

    在一家发展中的公司搬砖 正好遇到分库分表 数据迁移的需求比较多 就入坑了 最近有个系统重构 一直做数据重构 迁移 校验等工作 基本能覆盖数据迁移的各个基本点 所以趁机整理一下 数据同步的场景是 数据库拆分 数据冗余 数据表重构 数据重构服务
  • wget 命令 简单使用

    wget 命令用于在终端中下载网络文件 格式为 wget 参数 下载地址 1 wget 常用参数 b 后台下载模式 r 递归下载 p 下载页面内所有资源 包括图片 视频 音频等 c 断点续传 t 最大尝试次数 P 下载到指定的目录 2 案例
  • 新一代云数据库的引领者---AWS

    文章目录 前言 正文 1 数据库多样性挑战与数据库云管平台的机遇 1 1 数据库多样性挑战 1 2 数据库云管平台的机遇 1 2 1 数据库市场百花齐放 多元混合数据库管理给企业带来挑战 1 2 2 企业普遍缺乏多元混合数据库管理的人才和技
  • okyo Cabinet简介

    http idning github io ssd cache html http blog 163 com zbr 4690 blog static 126613593200910312346337 http blog chinaunix
  • Param ‘serviceName‘ is illegal, serviceName is blank --------报错

    报错内容为 java lang IllegalArgumentException Param serviceName is illegal serviceName is blank 报错原因 SpringBoot2 4版本之后不会默认加载b
  • linux测试命令

    如下是一份 Linux 机器的渗透测试备忘录 是在后期开发期间或者执行命令注入等操作时的一些典型命令 设计为测试人员进行本地枚举检查之用 系统信息命令 对于本地的枚举检查很有用 基于 Redhat CentOS RPM 的发行版 YUM 命
  • 解决SpringMVC Controller中接受日期格式发生400错误

    解决SpringMVC Controller中接受日期格式发生400错误 用户中有生日 Date 属性 用户注册的时候 选择日期即可 然后提交表单 可SpringMVC报错 意思是不能把字符串转为日期类型的 如果是strtus的话 压根不是
  • Vuex概念+实现原理

    文章目录 一 Vuex概念 1 Vuex是什么 2 Vuex的具体工作 3 Vuex 的属性包含以下6个 二 Vuex实现原理 2 1 store是怎么注册的 2 2 mutaions是怎么实现的 2 3 commit是怎么实现的 2 4
  • GPIO 模拟SPI

    GPIO 模拟SPI SPI简介 SCPH 0 SCPOL 0 的 SPI 协议时序图 在这里插入图片描述 https img blog csdnimg cn daeedeab80d14239aa1331736b17bf7d png SCP
  • 火狐浏览器书签无法同步问题解决

    问题 个人笔记本的火狐浏览器登录帐号后无法同步公司火狐浏览器的书签信息 更换了不同版本的火狐浏览器后仍然同步不了 解决方案 经过查找问题发现火狐提供了本地服务和全球服务两套服务方案 而两套服务是不互通的 公司电脑登录帐号时选择的是本地服务
  • 初始C语言——100-1000之间的素数排序,10个数一行

    思路分析 首先我们要清楚什么是素数 一个大于1的自然数 且除了1和它本身外 不能被其他自然数整除的数叫素数 然后我们需要考虑怎样实现100 1000之间素数的输出 是不是需要用到遍历 而for循环就是一种遍历 那怎么写for循环呢 很显然
  • HCIP第四天笔记

    网络类型 根据数据链路层所使用的协议及规则来进行划分 P2P网络 点到点网络 MA网络 多点接入网络 BMA 广播型多点接入网络 NBMA 非广播型多点接入 数据链路层协议以太网协议 封装数据帧是 需要假如源MAC地址和目标MAC地址 MA
  • 利用Qemu Guest Agent (Qemu-ga) 实现 Openstack 监控平台

    http www csdn123 com html itweb 20130729 27101 27081 27076 htm 利用Qemu Guest Agent Qemu ga 实现 Openstack 监控平台 经常使用vmWare的同
  • java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream

    使用不带hadoop的spark包 在成功启动pyspark前需要在spark的配置文件conf spark env sh里指定hadoop 格式是spark要求好的 现在以hadoop这个命令已经在环境变量中存在的情况为例 spark e
  • Win10安装docker遇到的坑

    记录下Win10安装docker遇到的坑 首先win10是分版本的 这里举例其中两个版本 家庭版 和 企业版 我电脑的操作系统之前是家庭版的 安装了Docker Desktop 又启用了hyper v 安装成功后使用docker versi