揭发233的docker/machine
继手动滑稽之golang-vmware-driver广告篇,今天把vmware-driver完成
然而我却要发一篇牢骚,这是对docker公信力的挑战!!!
本来很简单的升级到vmware 15.x的兼容vmx文件简直是小菜一碟
顺着大便,把Windows 7 + Tiny Linux 4.19 + XFS + Vmware Workstation 15 (PRO) 下篇dockerの奥义提到的知识点1涂抹了一下
这样就达成了1986年toshiba洗衣机广告那样的全自动效应:
更新driver再也不用打开VMware workstation手动停止,更新配置了,效果异常的完美
在此基础之上,配套了ssh和dockerd port,这样我又可以让各位猜猜猜了
然而ssh port配合无间,dockerd port就...一言能尽,失败!
为什么失败先从怎么成功说起,一言能尽,减了一处hard code,加了3行GetSSHPort,内容从base.go来,d *BaseDriver好吧,这点legacy就别缴税了
错误性息就不贴了没头脑和不高兴,聚焦到流程后,我在git的源码处发现了
WaitForDocker() --> provision.WaitForDocker(provisioner, engine.DefaultPort)
如果进一步检索,甚至发现
dockerPort := engine.DefaultPort
甚至又又探测出
utils_test.go dockerPort := 1234
为了颠覆印象,又找到了
GenerateDockerOptions(dockerPort int ..
.{ ...
DOCKER_HOST='-H tcp://0.0.0.0:{{.DockerPort}}'
... engineConfigContext := EngineConfigContext{
DockerPort: dockerPort, ......
}
最后诧异的联想machine/drivers/azure/util.go
// getSecurityRules creates network security group rules based on driver
// configuration such as SSH port, docker port and swarm port.// Base ports to be opened for any machine
rl := []network.SecurityRule{
mkRule(100, "SSHAllowAny", "Allow ssh from public Internet", "*", fmt.Sprintf("%d", d.BaseDriver.SSHPort), network.TCP),
mkRule(300, "DockerAllowAny", "Allow docker engine access (TLS-protected)", "*", fmt.Sprintf("%d", d.DockerPort), network.TCP),
}
好吧,最终的觉悟是,对改动docker/machine我是想说NO的
machine/libmachine/provision/ 绝大多数文件的日期都是在2年前,或者4年前
至今,仍旧保持着最初的风貌,而我的新光盘和new driver配合非常默契,当然少了自定义的docker port也无所谓,至少我确认了所有的远景都在预期内
至多,不少一个port
全篇无图,希望能用心灵和文字的力量感受到视觉上新光盘和new driver的抽象
以上233的docker/machine揭发完毕
请轻声鼓掌
OVER.
原文出处:https://www.cnblogs.com/A-Z/p/233docker-machine.html
- CentOS 7.2 安装 Docker 1.12.3 版
- 企业级私有Docker仓库Harbor搭建
- 172.17网段与docker网段冲突的解决办法
- LINUX 安装docker 报错: docker dead but pid file exists
- Docker安装方法与Docker四种网络模式详解
- 神话还是现实?Docker 和 Kubernetes 的完美架构
- SQL2005创建登录名时显示:已成功与服务器建立连接,但是发生错误233
- Docker镜像
- Docker 实现浏览器里开发Android应用的功能
- Docker与KVM之间的区别
- Docker(九):Docker容器卷插件
- Docker daemon 无法启动: does not match with stored UUID错误解决办法
- linux mint安装docker
- Nike Dunks SB possède tous les traits que la société Nike pourrait créer
- docker学习笔记14:Dockerfile 指令 ENV介绍
- Ubuntu14.04安装Docker详解
- Docker的使用--制作自己的镜像(四)
- docker使用小结
- Docker 教程