在使用docker-machine的时候,尝试了vSphere driver。
Docker的vSphere Driver官方文档[1]比较晦涩,只是列出了支持的参数及其对应的环境变量。
这里参照VMware BLOGS的一篇博客[2]作为例子测试通过。
顺便这里提一下,VMware也有自己的容器解决方案,叫VIC,每个容器都创建一个VM,通过VCH来模拟容器主机,Admiral来管理,当然还集成了热门的Harbor作为registry,PhotonOS作为dockerOS。可以到官网上尝试下Hands-on Lab[3]。
docker-machine安装
windows和macos就只要直接安装docker会带上,一般问题不大。
之所以这里须要提一下,是因为linux上或者须要直接到官方github release页面下载的话,会涉及到墙的问题,当然可以用代理解决,如果不想用代理,那就须要把aws s3服务器在本地Hosts上指定成香港的,如下:
docker-machine创建vm
为了方便解释,这里直接把测试使用的环境变量罗列解释一下:
可以看到,上面除了VSPHERE_NETWORK,其他环境变量也就直接用好了,用起来都挺正常的。
至于DHCP,这个我不知道有什么其他办法可以破,貌似docker-machine也没有参数可以在创建machine的时候指定IP的。
我引用的博客里还使用了docker-machine的swarm参数直接生成swarm cluster,这里就不再赘述了。
管理docker-machine
这里不罗嗦了,可以直接参看docker-machine的官方文档。
下面直接看下使用了vSphere环境变量后创建的效果。
|
|
然而,DHCP因为可能会分配vm新的IP,这就会导致下面这个报错。
|
|
这也属于比较常见的问题,通过重新生成连接证书来解决。
|
|
其他使用下来也都一切正常,用完删掉,over了事~(毕竟docker-machine还是作为测试环境比较好,正式环境最好还是上文首VIC这类方案比较好)
|
|