创建machine出错 Error detecting OS: Error getting SSH command: command:cat /etc/os-release

刚解决了安装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了。

猜你喜欢

转载自blog.csdn.net/qq_42114918/article/details/81775583
今日推荐