Docker与Android Studio的冲突问题

欠伸展肢体,吟咏心自愉。这篇文章主要讲述Docker与Android Studio的冲突问题相关的知识,希望能为你提供帮助。
在行业内,VisualBox、VMware、Hyper-V冲突也不是什么秘密了
 
我在公司的电脑上先安装了Docker,并在安装Docker之前在Bios中开启了虚拟化支持,所以在启动Docker时没有任何问题。

Docker与Android Studio的冲突问题

文章图片

Docker与Android Studio的冲突问题

文章图片

查看Windows功能,其中Hyper-V已经完全安装了
Docker与Android Studio的冲突问题

文章图片

 
   
接下来,因为需要开发React Native应用,安装了Nodejs后,且为了调试方便安装了android Studio,(React  Native开发环境配置可以参考https://reactnative.cn/docs/0.50/getting-started.html#content) 但在运行项目时,会出现以下错误
以下的错误意思是,Android Studio与Hyper-V产生了冲突,需要运行命令将Hyper-V功能关闭
Docker与Android Studio的冲突问题

文章图片

好,既然Android Studio给出了提示,那么我就需要运行以上提示给出的命令 
使用管理员权限打开一个命令行窗口,运行给出的命令
#是不是一定要在C:\\Windows\\system32> 目录运行命令不是太清楚,但我运行成功了
bcdedit /set hypervisorlaunchtype off

 
Docker与Android Studio的冲突问题

文章图片

接着Android Studio又给出了另一个错误提示,还是需要先将Hyper-V先关掉才可以。
Docker与Android Studio的冲突问题

文章图片

 
因为现时Docker暂时不需要用到,所以先暂时关闭
Docker与Android Studio的冲突问题

文章图片

 
将Android Studio的错误提示,点击OK关闭错误提示。
将Android Studio的项目关闭再重新打开,依然看到Hyper-V的错误信息,依然不可运行,原因是我运行了命令后,并没有重启
Docker与Android Studio的冲突问题

文章图片

 
当我重启电脑后,再尝试运行,确实已经没有了提示,项目已经正常运行
Docker与Android Studio的冲突问题

文章图片

Docker与Android Studio的冲突问题

文章图片

 
 
这时就有一个问题了,我已经成功运行了React Native,或者说Android Studio,那么是不是可以同时运行Docker?
很抱歉,我的机器暂时不行!似乎有一些人有了解决方案,https://stackoverflow.com/questions/43134006/how-can-i-run-both-docker-and-android-studio-emulator-on-windows
Docker与Android Studio的冲突问题

文章图片

 
或者我们可以微软的Android模拟器,https://www.visualstudio.com/zh-hans/vs/msft-android-emulator/来解决这个问题。
 
简单来说,就是Docker需要使用到Hyper-V,而Android Studio是使用HAXM(硬件加速执行管理器),而HAXM与Hyper-V使用相同的虚拟化扩展,这就意味着,它们之间是冲突的,且不能同时运行两个技术,
且电脑中只能运行其中一个技术。
2018-08-01  更新
参考了一些网上的说法,似乎Docker与Android Studio是没办法在同一个电脑上安装的,但是找到一个折中的方法,就是安装Docker Toolbox
Docker  Toolbox即是在外面安装了一个虚拟机给Docker使用,而且Docker Toolbox不需要使用到Hyper-V
Docker Toolbox地址:https://docs.docker.com/toolbox/toolbox_install_windows/
Docker与Android Studio的冲突问题

文章图片

Docker与Android Studio的冲突问题

文章图片

Docker与Android Studio的冲突问题

文章图片

安装完成后,会在网站生成三个图标
Docker与Android Studio的冲突问题

文章图片

 
打开Docker Quickstart Terminal图标,需要下载一个boot2docker的镜像,另外需要分配IP地址等,完成后,即会出现一个鲸鱼的图标
如果下载失败,地址为https://github.com/boot2docker/boot2docker/releases,可以手动下载后放入至文件夹 C:\\Users\\chenwes(用户名)\\.docker\\machine\\cache
Docker与Android Studio的冲突问题

文章图片

 
最后放一个,同时运行Docker与Android Studio的图片
Docker与Android Studio的冲突问题

文章图片

 
Docker与Android Studio的冲突问题

文章图片

 
 
2019-02-25更新
查看到原有问答,已经解决了该问题
https://stackoverflow.com/questions/43134006/how-can-i-run-both-docker-and-android-studio-emulator-on-windows
只需要将Windows功能中的Windows Hypervisor Platform勾选即可,但效果如何,我测试还是行不通的
Docker与Android Studio的冲突问题

文章图片

 
 
 
2019-05-06更新
查看到另一个Google的解答
https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html
也有微软给出的方案
https://devblogs.microsoft.com/visualstudio/hyper-v-android-emulator-support/
【Docker与Android Studio的冲突问题】 

    推荐阅读