docker-machine为节点安装指定版本的docker-ce的思路
对于指定版本的问题,翻遍官网文档和github上的issue,始终没有一个好的回答,而且该产品的开发人员不知道为什么总不正面提供方法,也许是为了推广新版本,
但是这样真的好吗?docker swarm要求docker版本统一,docker-machine只提供最新版的升级捷径,并且默认安装的也是最新版,
假设我们线上的环境二十个节点部了一次已经都是a版本了,过了一个月docker发布了b版本,而我们又想要增加十个线上节点,难道挨个去升级一遍?
我始终想不通docker-machine为什么这样难为它的用户,谁能告诉我?
----------------------------------------------------分割线-------------------------正文开始---------------------------------------
在安装的时候我们是可以指定安装脚本的:
观察这个默认网站(https://get.docker.com 其实还有一个 https://test.docker.com,后边这个才是始终是最新版本),就是一个shell脚本,
通过分析,得出修改其中的pkg_version变量为我们需要的版本号,就可以达到我们想要的效果,
接下来要做的就是复制这个shell,按照我们得出的结论,改一下,搭个服务器放上边,然后在使用docker-machine create的时候指定一下这个地址为安装docker的shell的地址就可以了。
这里我用的centos,直接修改centos的分支,写死了一个版本号:
可以看到 成功安装指定版本
使用的命令如下:
docker-machine create --driver generic --engine-install-url=http://www.liuyuxiang.com:7777/index --generic-ip-address=192.168.31.13 node3
其中,http://www.liuyuxiang.com:7777/index 这个地址就是我临时使用nginx搭的
(完毕)