Ryan

Docker和VMware共存工作(Docker使用VMware作为后端)
起因使用vmware安装软HMC时VMware报错,说不兼容Device/Credential Guard。根据官...
扫描右侧二维码阅读全文
05
2019/05

Docker和VMware共存工作(Docker使用VMware作为后端)

起因

使用vmware安装软HMC时VMware报错,说不兼容Device/Credential Guard。

根据官方指引在组策略中关闭该功能后问题依旧。
百度搜了一下发现时Hyper-V与VMware这两种虚拟化不能共存导致的。
而我要使用的Docker Windows默认是基于Hyper-V运行的Docker宿主机。

解决办法

不完美解决办法

当需要使用 vmware 时,我们按开启的方式,再次关闭 Hyper-V ,这样,软件就能正常的打开了。
但这样操作,有一个不好的地方,每开启或关闭一次,系统都必需要重启一次,这导致每次系统都进行了一次程序的安装和卸载,费时不高效。

使用VMware Workstation作为Docker后端

博主脑海里突然萌生一个想法:Docker是否能使用VMware作为后端呢?Github上搜了一下发现有这么一个项目:pecigonzalo/docker-machine-vmwareworkstation
好了,就你了。
1.安装Docker For Windows
2.关闭Hyper-V
close-hyperv-on-windows-10.png
3.点击链接过去下载最新的docker-machine-vmwareworkstation。
将下载下来的docker-machine-driver-vmwareworkstation.exe放到C:\Program Files\Docker\Docker\resources\bin
4.删除Docker虚拟机

docker-machine.exe ls
docker-machine.exe remove 虚拟机名

use-vmware-workstation-as-docker-backend-02.png
5.新建Docker虚拟机

docker-machine.exe create --driver=vmwareworkstation default

6.获取运行Docker变量
更换Docker后端后docker命令无法正常工作,因为使用默认环境变量docker客户端无法连接创建的虚拟机
use-vmware-workstation-as-docker-backend-04.png
获取环境变量

docker-machine.exe env default

use-vmware-workstation-as-docker-backend-03.png
提示运行docker命令前执行以下命令就可以了

@FOR /f "tokens=*" %i IN ('docker-machine.exe env default') DO @%i

use-vmware-workstation-as-docker-backend-05.png

解决使用VMware作为后端后无法使用volume挂载文件系统

严格来说这不是docker指引,而是vmware的使用指引。
共享文件夹本来就是VMware的基础功能。

默认就共享了C:Users\
博主自己添加了另外一个目录。
在docker宿主虚拟机中的目录访问方式为/mnt/hgfs/共享名
在运行docker容器的时候可以先把文件放到共享目录里,然后通过-v /mnt/hgfs/share/:/share这样的方式映射到容器内部。

搬瓦工年付$187机房套餐补货了,电信联通优化,512M内存/500G流量/1G带宽,建站稳定,优惠码:BWH1ZBPVK,【点击购买】!
搬瓦工年付$28CN2高速线路,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快,建站稳定,优惠码同上,【点击购买】!
Last modification:May 18th, 2019 at 10:55 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

One comment

  1. 奶爸de笔记

    ୧(๑•̀⌄•́๑)૭我只装了VM,没装docker,docker能干些什么?