win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER

window 10专业版,通过“启用和关闭Window功能”进行安装IIS的部分功能的时候报错:

Window 无法完成请求的更改,找不到引用的汇编,错误代码 0X80073701

 win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第1张图片

 

备注以及尝试:

(1)Windows Modules Installer服务 是启动状态的

(2)使用下列命令检查,也没有发现问题:

dism /online /cleanup-image /scanhealth

dism /Online /cleanup-image /checkhealth

下面是CMD的结果:

C:\Windows\system32>dism /online /cleanup-image /scanhealth

部署映像服务和管理工具

版本: 10.0.17763.1

映像版本: 10.0.17763.253

[==========================100.0%==========================] 未检测到组件存储损坏。

操作成功完成。

C:\Windows\system32>dism /Online /cleanup-image /checkhealth

部署映像服务和管理工具

版本: 10.0.17763.1

映像版本: 10.0.17763.253

未检测到组件存储损坏。

操作成功完成。

(3)下列命令是试过了:

dism /online /cleanup-image /restorehealth

C:\Windows\system32>dism /online /cleanup-image /restorehealth

部署映像服务和管理工具

版本: 10.0.17763.1

映像版本: 10.0.17763.253

[==========================100.0%==========================] 还原操作已成功完成。

(4)sfc /scannow也试过了,没有问题:

C:\Windows\system32>sfc /scannow

开始系统扫描。此过程将需要一些时间。

开始系统扫描的验证阶段。

验证 100% 已 完 成 。

Windows 资源保护未找到任何完整性冲突。

或者 检查一下 

请您尝试以下链接中使用PowerShell或DISM来启用Hyper-v的方法,查看能否解决问题。

https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v?f=255&MSPPError=-2147217396如果问题依旧,且您的系统是Windows 10 1809之前的版本,请您在以下链接中获取更新工具,更新系统版本的同时修复系统组件,查看能否解决问题。https://www.microsoft.com/zh-cn/software-download/windows10/

 

安装DOCKER

地址:https://hub.docker.com/editions/community/docker-ce-desktop-windows

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第2张图片

下载完成后运行安装包,安装完成后界面如图:

单击Close and log out,这个时候我们重启一次电脑。

启动 DOCKER

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第3张图片

https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第4张图片

1.在桌面找到Docker for Windows快捷方式,双击启动即可!启动成功后托盘处会有一个小鲸鱼的图标。打开命令行输入命令:docker version可以查看当前docker版本号,如图:

2.更换镜像源地址

中国官方镜像源地址为:https://registry.docker-cn.com、http://f1361db2.m.daocloud.io

点击托盘处docker图标右键选择-Settings,然后修改如下:

19的版本 

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第5张图片


最后修改docker镜像源为:

{
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

说明,以下部分是新增的,同时需要注意上一句的末尾有英文的,

  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn"
  ]

点击Apply后会重启Docker。

3.载入测试镜像测试

输入命名“docker run hello-world”可以加载测试镜像来测试。如图:

开始使用Docker Desktop

Docker设置对话框

介绍可从“ 设置”对话框访问的配置选项。

  1. 通过右键单击通知区域(或系统托盘)中的Docker图标,打开Docker Desktop for Windows菜单:

     

  2. 选择设置...以打开“设置”对话框

                    win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第6张图片

一般

在“ 设置”对话框的“ 常规”选项卡上,您可以配置何时启动和更新Docker。

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第7张图片

 

共享驱动器的权限与您在此处提供的凭据相关联。如果docker使用与此处配置的用户名不同的用户名运行命令,则容器无法访问已装入的卷。

要应用共享驱动器,系统会提示您输入Windows系统(域)用户名和密码。您可以选择一个选项让Docker存储凭据,这样您就不必每次都输入凭据。

 

有关共享驱动器,权限和卷装入的提示

只有在Linux容器中装入卷才需要共享驱动器,而不是Windows容器。对于Linux容器,您需要共享Dockerfile和卷所在的驱动器。如果您遇到错误,file not found 或者cannot start service您可能需要启用共享驱动器。请参阅卷安装需要Linux容器的共享驱动器。)

如果可能,请避免从Windows主机安装卷,而是安装在Linux VM上,或使用数据卷 (命名卷)或数据容器。使用主机安装的卷和数据库文件的网络路径存在许多问题。请参阅主机路径中的卷装入使用nobrl选项来覆盖数据库锁定。

Docker Desktop for Windows为用户,组和其他人0777或+ rwx设置读/写/执行权限。这是不可配置的。请参阅共享卷的数据目录上的权限错误。

确保域用户可以访问共享驱动器,如验证域用户具有共享驱动器的权限中所述。

您可以与容器共享本地驱动器,但不能与Docker Machine节点共享。请参阅常见问题解答,我可以与Docker Machine VM共享本地驱动器和文件系统吗?。
 

共享驱动器的防火墙规则

共享驱动器要求端口445在主机和运行Linux容器的虚拟机之间打开。Docker检测端口445是否已关闭,并在您尝试添加共享驱动器时显示以下消息:

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第8张图片

要共享驱动器,请允许Windows主机与Windows防火墙中的虚拟机或第三方防火墙软件之间建立连接。您无需在任何其他网络上打开端口445。

默认情况下,允许10.0.75.1从10.0.75.2(虚拟机)连接到端口445(Windows主机 )。如果防火墙规则似乎正确,则可能需要在Hyper-V虚拟网卡上切换或 重新安装文件和打印共享服务

按需共享驱动器

您可以在第一次请求特定安装时“按需”共享驱动器。

如果从具有卷装入的shell运行Docker命令(如下面的示例所示)或启动包含卷装入的Compose文件,则会弹出一个询问您是否要共享指定驱动器的弹出窗口。

您可以选择共享它,在这种情况下,它会添加到Docker Desktop for Windows Shared Drives列表并可供容器使用。或者,您可以选择不通过点击取消来共享它。

高级
更改“高级”选项卡上的设置后,Linux VM将重新启动。这需要几秒钟。
 win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第9张图片
 

  • CPU - 更改分配给Linux VM的处理器数量。

  • 内存 - 更改Docker Desktop for Windows Linux VM使用的内存量。

  • 网络

    您可以将Docker Desktop for Windows网络配置为在虚拟专用网络(VPN)上工作。

  • win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第10张图片

  • 内部虚拟交换机 - 您可以指定网络地址转换(NAT)前缀和子网掩码以启用Internet连接。

  • DNS服务器 - 您可以将DNS服务器配置为使用动态或静态IP寻址。

  • 注意:某些用户报告在Docker Desktop for Windows稳定版本上连接到Docker Hub时出现问题。当尝试运行docker从Docker Hub中提取尚未下载的图像的命令(例如第一次运行)时,这将显示为错误 docker run hello-world。如果遇到此问题,请重置DNS服务器以使用Google DNS固定地址: 8.8.8.8。有关更多信息,请参阅 故障排除中的网络问题
     更新这些设置需要重新配置并重新启动Linux VM。

代理

Docker Desktop for Windows允许您配置HTTP / HTTPS代理设置并自动将这些设置传播到Docker和容器。例如,如果将代理设置设置为http://proxy.example.com,则Docker在提取容器时会使用此代理。

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第11张图片

启动容器时,代理设置会传播到容器中。例如:

> docker run alpine env
 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=b7edf988b2b5
TERM=xterm
HOME=/root
HTTP_PROXY=http://proxy.example.com:3128
http_proxy=http://proxy.example.com:3128
no_proxy=*.local, 169.254/16

在输出上文中,HTTP_PROXY,http_proxy,和no_proxy环境变量设置。当您的代理配置更改时,Docker会自动重新启动以获取新设置。如果您希望在重新启动时继续运行容器,则应考虑使用 重新启动策略。

 

守护进程
您可以配置Docker守护程序来磨练容器的运行方式。 高级模式允许您直接编辑JSON。基本模式允许您使用交互设置(以及JSON)配置更常见的守护程序选项。 

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第12张图片

 

实验模式

Docker Desktop for Windows Stable和Edge版本都启用了Docker Engine的实验版本,在GitHub上的Docker实验特性README中有所描述。

实验性功能不适用于生产环境或工作负载。它们是用于新想法的沙盒实验。一些实验性功能可能会合并到即将发布的稳定版本中,但其他版本可能会从后续Edge版本中修改或删除,并且永远不会在Stable上发布。

在Edge和Stable版本上,您可以打开和关闭实验模式。如果您将其关闭,Docker Desktop for Windows将使用当前常用的Docker Engine版本。

运行docker version以查看您是否处于实验模式。实验模式列在Server数据下。如果Experimental是true,那么Doc​​ker正在以实验模式运行,如下所示: 

docker version
 
Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built: Wed Mar 21 23:06:28 2018
 OS/Arch:       windows/amd64
 Experimental:  true
 Orchestrator:  swarm
 
Server:
 Engine:
  Version:      18.03.0-ce
  API version:  1.37 (minimum version 1.24)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:        Wed Mar 21 23:21:06 2018
  OS/Arch:      windows/amd64
  Experimental: true

自定义注册表

您可以在基本 守护程序设置上设置自己的注册表。

通常,您将公共或私有映像存储在Docker Hub 和Docker Trusted Registry中。在这里,您可以使用Docker来设置自己的不安全注册表。只需为托管图像的不安全注册表和注册表镜像添加URL。

请参阅如何添加自定义CA证书? 以及如何添加客户端证书?在常见问题解答中。

守护进程配置文件

该高级守护程序设置提供原件选项直接编辑JSON配置文件的守护进程。
 更新这些设置需要重新配置并重新启动Linux VM。

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第13张图片

有关Docker守护程序的完整选项列表,请参阅守护程序以及子主题:

守护进程配置文件

Linux配置文件

Windows配置文件

Kubernetes
适用于Windows的Docker Desktop上的Kubernetes 在 18.02 Edge(win50)及更高版本以及18.06 Stable(win70)及更高版本中可用。 

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第14张图片

 

从Docker Desktop for Windows 18.02 CE Edge和18.06 CE Stable可以在Windows主机上运行独立的Kubernetes服务器,以便您可以测试在Kubernetes上部署Docker工作负载。

Kubernetes客户端命令kubectl包含并配置为连接到本地Kubernetes服务器。如果您kubectl已经安装并指向某些其他环境(例如minikubeGKE集群),请务必更改上下文,以便kubectl指向docker-for-desktop:
 

> kubectl config get-contexts
> kubectl config use-context docker-for-desktop

您也可以通过Docker Desktop for Windows菜单更改它:

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第15张图片

 

如果您kubectl通过其他方法安装并遇到冲突,请将其删除。

要启用Kubernetes支持并安装作为Docker容器运行的独立Kubernetes实例,请选择Enable Kubernetes并单击 Apply and restart按钮。

需要Internet连接。运行Kubernetes服务器所需的映像将被下载并实例化为容器,并且

已安装Program Files \ Docker \ Docker \ Resources \ bin \ kubectl.exe`命令。

默认情况下,Kubernetes容器对命令是隐藏的docker service ls,因为不支持手动管理它们。要使它们可见,请选择Show system containers(advanced),然后单击Apply并重新启动。大多数用户不需要此选项。

要随时禁用Kubernetes支持,请取消选择“ 启用Kubernetes”。停止并删除Kubernetes容器,并删除该 /usr/local/bin/kubectl命令。

有关使用Kubernetes与Docker Desktop for Windows集成的更多信息,请参阅在Kubernetes上部署。

重启
在“重置”选项卡上,您可以重新启动Docker或重置其配置。
 

win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第16张图片

 

重启Docker - 关闭并重新启动Docker应用程序。

重置为出厂默认值 - 将Docker重置为出厂默认值。这在Docker停止工作或无响应的情况下非常有用。

诊断和反馈
请访问我们的日志和故障排除指南了解更多详情。

登录我们的Docker Desktop for Windows论坛,获取社区帮助,查看当前用户主题或加入讨论。

登录到GitHub上的Docker Desktop for Windows问题以报告错误或问题并查看社区报告的问题。

要提供有关文档的反馈或自行更新,请使用每个文档页面底部的反馈选项。

在Windows和Linux容器之间切换
从Docker Desktop for Windows菜单中,您可以切换Docker CLI与之对话的守护进程(Linux或Windows)。选择“ 切换到Windows容器”以使用Windows容器,或选择“ 切换到Linux容器”以使用Linux容器(默认设置)。
win10启用Hyper-v出现找不到引用的汇编问题以及安装DOCKER_第17张图片

 

有关Windows容器的更多信息,请参阅此文档:

有关Windows容器的 Microsoft文档。

构建并运行您的第一个Windows服务器容器(博客文章) 可以快速浏览如何在Windows 10和Windows Server 2016评估版本上构建和运行本机Docker Windows容器。

Windows Containers入门(实验室) 向您展示了如何将MusicStore 应用程序与Windows容器一起使用。MusicStore是一个标准的.NET应用程序, 在这里分叉使用容器,是多容器应用程序的一个很好的例子。

要了解如何从本地主机连接到Windows容器,请参阅: Windows容器localhost和已发布端口的限制

设置对话框随Windows容器一起更改

切换到Windows容器时,“设置”对话框仅显示那些处于活动状态并应用于Windows容器的选项卡:

一般
代理
Docker守护进程
诊断和反馈
重启
如果在Windows容器模式下设置代理或守护程序配置,则这些仅适用于Windows容器。如果切换回Linux容器,则代理和守护程序配置将返回到您为Linux容器设置的内容。您的Windows容器设置将保留,并在您切换回时再次可用。

添加TLS证书
对于Docker守护程序,您可以添加受信任的证书颁发机构(CA),以验证注册表服务器证书和客户端证书,以便向注册表进行身份验证。

请参阅如何添加自定义CA证书? 以及如何添加客户端证书? 在常见问题解答中。

Docker Hub
从Docker Desktop for Windows菜单中选择登录/创建Docker ID以访问您的Docker Hub帐户。登录后,您可以直接从Docker Desktop for Windows菜单访问Docker Hub存储库。

请参阅这些Docker Hub主题以了解更多信息:

Docker Hub中的组织和团队
构建和图像
 

 

 

 

 

资料来源 :

https://www.cnblogs.com/adandelion/p/10333546.html

https://answers.microsoft.com/zh-hans/windows/forum/all/win10%E5%90%AF%E7%94%A8hyper/d8d59d79-f9f8-4c18-91bb-49ae10a2268a

https://www.cnblogs.com/wyt007/p/10656813.html

https://blog.csdn.net/novanova2009/article/details/86529949

你可能感兴趣的:(docker,docker)