0

0

在Windows10安装Docker遇到问题的解决方法

爱谁谁

爱谁谁

发布时间:2025-05-14 11:14:26

|

870人浏览过

|

来源于php中文网

原创

在windows10安装docker遇到问题的解决方法windows上安装docker是一个相对简单且直接的过程。我之前主要在centos系统上使用docker,尚未在windows环境下尝试过。

我所在公司的项目一直使用Docker,而我工作的电脑是Windows10,其他同事大多使用Mac。入职时,我按照内部Wiki的指导,使用VirtualBox和vagrant搭建了环境。

现在有一个新项目,因此我决定尝试在Windows上使用Docker,同时为了在假期期间便于在笔记本上练习或修复bug,我也想在自己的电脑上安装Docker。

现在来讲讲我遇到的问题。

1、家庭版安装Docker for Windows我的笔记本当初购买时是家庭版,安装时没有特别注意,直接下载了Docker for Windows,结果安装失败,提示如下错误:

Installation failed:one pre-requisite is not full filledDocker for Windows requires Windows 10 Pro or Enterpriser version 14393,or Windows server 2016 RTM to run

原因是Docker支持在Mac、Windows、Linux上安装,但在Windows10系统中,Docker for Windows目前只能在64位的Windows10专业版、企业版或教育版下安装。Win7/Win8/Win10家庭版需要通过Docker Toolbox来安装,而我的电脑是家庭版的,尝试安装Docker for Windows导致失败。

2、在已安装Hyper-V的Windows上安装Docker Toolbox这是最棘手的问题,可能遇到多个难题。

Docker for Windows依赖Hyper-V,而Docker Toolbox使用VirtualBox。我之前已经安装了Hyper-V,这是因为Windows10家庭版没有Hyper-V功能,我通过之前文章中提到的方法添加了Hyper-V。

在Windows功能中关闭Hyper-V后,即使重启电脑,效果也不明显,安装Docker Toolbox时没有大问题。

1)但如果像我一样已经安装了Hyper-V,可能无法正常使用Docker Toolbox。尝试启动Docker QuickStart Terminal时,会出现以下错误:

Running pre-create checks...Error with pre-create check: "This computer is running Hyper-V. VirtualBox won't boot a 64bits VM when Hyper-V is activated. Either use Hyper-V as a driver, or disable the Hyper-V hypervisor. (To skip this check, use --virtualbox-no-vtx-check)"Looks like something went wrong in step ´Checking if machine default exists´... Press any key to continue...

我的解决方法是直接禁用Hyper-V,在管理员模式下运行CMD:

//禁用:bcdedit /set hypervisorlaunchtype off//启用:bcdedit /set hypervisorlaunchtype auto 

这样问题就解决了,当然还有另一种方法。

我们可以通过修改启动文件来允许创建默认的VM。需要修改的文件位于C:\Program Files\Docker Toolbox\start.sh,必须以管理员身份运行的编辑器中打开文件。

在编辑文件之前,可能需要保存原始文件的副本,以防万一。找到以下代码片段:

STEP="Checking if machine $VM exists"if [ $VM_EXISTS_CODE -eq 1 ]; then  "${DOCKER_MACHINE}" rm -f "${VM}" &> /dev/null || :  rm -rf ~/.docker/machine/machines/"${VM}"  #set proxy variables if they exists  if [ "${HTTP_PROXY}" ]; then    PROXY_ENV="$PROXY_ENV --engine-env HTTP_PROXY=$HTTP_PROXY"  fi  if [ "${HTTPS_PROXY}" ]; then    PROXY_ENV="$PROXY_ENV --engine-env HTTPS_PROXY=$HTTPS_PROXY"  fi  if [ "${NO_PROXY}" ]; then    PROXY_ENV="$PROXY_ENV --engine-env NO_PROXY=$NO_PROXY"  fi  "${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV "${VM}"fi

在倒数第二行是创建虚拟机的地方:

易语言学习手册 十天学会易语言图解教程  pdf版
易语言学习手册 十天学会易语言图解教程 pdf版

十天学会易语言图解教程用图解的方式对易语言的使用方法和操作技巧作了生动、系统的讲解。需要的朋友们可以下载看看吧!全书分十章,分十天讲完。 第一章是介绍易语言的安装,以及运行后的界面。同时介绍一个非常简单的小程序,以帮助用户入门学习。最后介绍编程的输入方法,以及一些初学者会遇到的常见问题。第二章将接触一些具体的问题,如怎样编写一个1+2等于几的程序,并了解变量的概念,变量的有效范围,数据类型等知识。其后,您将跟着本书,编写一个自己的MP3播放器,认识窗口、按钮、编辑框三个常用组件。以认识命令及事件子程序。第

下载
"${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV "${VM}"

修改该行并添加--virtualbox-no-vtx-check。最终结果是:

"${DOCKER_MACHINE}" create -d virtualbox --virtualbox-no-vtx-check $PROXY_ENV "${VM}"

保存更改后,现在应该可以运行Docker QuickStart Terminal而不会出现任何问题。

2)Power up failed (vrc=VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT, rc=E_FAIL (0X80004005))

如果按照上一个问题的第二个方法解决,第二次启动时会报错:

Starting "default"...(default) Check network to re-create if needed...(default) Windows might ask for the permission to create a network adapter. Sometimes, such confirmation window is minimized in the taskbar.(default) Creating a new host-only adapter produced an error: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe hostonlyif create failed:(default) 0%...(default) Progress state: E_INVALIDARG(default) VBoxManage.exe: error: Failed to create the host-only adapter(default) VBoxManage.exe: error: Assertion failed: [!aInterfaceName.isEmpty()] at 'F:\tinderbox\win-5.2\src\VBox\Main\src-server\HostNetworkInterfaceImpl.cpp' (76) in long __cdecl HostNetworkInterface::init(class com::Bstr,class com::Bstr,class com::Guid,enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0038).(default) VBoxManage.exe: error: Please contact the product vendor!(default) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface(default) VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCreate(struct HandlerArg *)" at line 94 of file VBoxManageHostonly.cpp(default)(default) This is a known VirtualBox bug. Let's try to recover anyway...(default) Found a new host-only adapter: "VirtualBox Host-Only Ethernet Adapter #5"(default) Windows might ask for the permission to configure a network adapter. Sometimes, such confirmation window is minimized in the taskbar.(default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.Unable to start the VM: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm default --type headless failed:VBoxManage.exe: error: Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT)VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole Details: 00:00:01.889052 Power up failed (vrc=VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT, rc=E_FAIL (0X80004005))

这个问题的解决方案是:关闭Hyper-V后,重启电脑即可正常运行。

然后使用以下命令:

docker-machine create –driver virtualbox node1

3、Docker for Windows使用命令报错家庭版无法直接安装Docker for Windows,因此我将电脑升级为专业版,然后进行安装。

这个问题出现在安装过Docker Toolbox又卸载后再安装Docker for Windows时,使用Docker命令时出现报错,提示找不到CA证书:

could not read CA certificate "C:\\Users\\username\\.docker\\machine\\machines\\default\\ca.pem": open C:\Users\username\.docker\machine\machines\default\ca.pem: The system cannot find the file specified.

这是因为在安装Docker Toolbox时,环境变量中写入了一些路径,卸载时这些环境变量并未清除。

因此,右键我的电脑->属性->高级系统设置->环境变量->用户变量,将所有Docker相关的环境变量删除。

重新打开命令行窗口执行命令后,发现可以正常使用了。

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:在Windows10安装Docker遇到问题的解决方法

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

576

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1098

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

790

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

452

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2347

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

776

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

1487

2023.08.28

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

1623

2023.08.30

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

Excel 教程
Excel 教程

共162课时 | 11.8万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号