刚解决了安装machine的问题,又迎来一个问题,创建machine。
Host:ubuntu14.04
Kernel:4.4.0-31-generic
Docker:18.06.0-ce
Storage driver:overlay2
host1:ubuntu14.04
host2:Centos6.6
部署ubuntu时,很顺利就安装成功了。具体的步骤参考网上教程,我就不具体说了,
但在往CentOS6.6上部署时就出现了问题,ssh连接是没问题的。看了一下报错的内容Error detecting OS
应该是检测系统出错了,还有cat: /etc/os-release:No such file or directory 找不到这个文件,
我就恍然大悟,是ubuntu上的docker版本 在CentOS6.6 上部署不兼容的问题。
然后我在这个网站上验证了我的猜测。https://www.thegeekstuff.com/2016/02/docker-machine-create-generic/
Error 1: Invalid OS
The current version of docker-machine supports only certain version of OS on the remote server.
For example, if your remote server is running on CentOS 6, you’ll get the following ” /etc/os-release: No such file or directory” error message. This is because for CentOS, it is looking for CentOS 7.
$ docker-machine create -d generic --generic-ip-address 192.168.100.2 --generic-ssh-key $HOME/.ssh/id_rsa --generic-ssh-user dockeradmin --generic-ssh-port 22 dev-db
Running pre-create checks...
Creating machine...
Waiting for machine to be running, this may take a few minutes...
(dev-db) Importing SSH key...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Error creating machine: Error detecting OS: Error getting SSH command: Something went wrong running an SSH command!
command : cat /etc/os-release
err : exit status 1
output : cat: /etc/os-release: No such file or directory
Docker官网对于在CentOS 上安装docker ce 的要求是:
然后 参考这篇文章 想尝试一下升级内核。 https://blog.csdn.net/jeffleo/article/details/70904150
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本CentOS 7 的内核一般都是3.10的,而CentOS 6.X 的内核一般都是2.6,在2.6的内核下,Docker运行会比较卡,所以一般会选择升级到3.10版本。
事实上,对于内核版本要大于3.10这个要求,是从Docker1.8.2版本开始的,Docker之前的版本是可以运行在较低内核版本之上的,比如1.7.1。
用下面这条命令,查看系统版本,内核版本,和是否支持aufs。(显示不支持)
在ubuntu 中系统版本信息为 /etc/os-release ,在CentOS中为/etc/redhat-release ,这下就能解释部署machine时的出错了。
我尝试了下把redhat-release 改名为os-release,肯定不行哈哈。
然后我就开始升级内核,升级内核,以支持overlay2。
1.导入public key
2.安装ELRepo到CentOS,作为yum源
http://elrepo.org/tiki/tiki-index.php 去官网找合适的版本
4.升级内核
在yum的elrepo源中有ml和lt两种内核,其中ml(mainline)为最新版本的内核,lt为长期支持的内核。
4. 编辑grub.conf文件,修改Grub引导顺序 ,把default=1 改为0,再reboot重启。
内核升级到了4.4 ,什么情况。我只想升级到3.的。
最后试了一下还是不成功,啊,算了,我放弃了,我去找7了。