微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何在私有服务器上使用docker-machine?

我想在运行CentOS7的服务器上安装docker主机(如果重要的话,它在我的PC上的VirtualBox中运行).

我知道有多个云提供商(亚马逊,谷歌,DigitalOcean等)的驱动程序,但如果我想使用自己的私人服务器,我无法弄清楚该做什么.

我尝试使用–driver generic与guest OS的IP,以及我使用ssh-keygen和ssh-copy-id创建和复制的SSH密钥但我得到了

$docker-machine create -d generic --generic-ip-address=<IP> --generic-ssh-key ~/.ss
h/id_rsa --generic-ssh-user <user> centos

Running pre-create checks...
Creating machine...
(centos) Importing SSH key...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with centos...
Error creating machine: Error running provisioning: exit status 1

我究竟做错了什么?

这与我在VirtualBox中安装CentOS的事实有关吗?

解决方法:

是的,你可以使用docker-machine在linux服务器上配置和控制docker-engine,即将现有的linux服务器作为Docker Machine导入.这有几个要求:

>仅支持少数操作系统,请参阅https://docs.docker.com/machine/drivers/os-base/.目前对CentOS的支持尚未实验
>您的SSH密钥需要没有密码,或者由ssh-agent管理.
>您的服务器上的用户帐户需要能够在没有密码的情况下运行sudo(有关如何操作,请参阅此链接https://stackoverflow.com/a/24648413/4190526)

满足要求后,您可以使用以下方法之一将服务器导入Docker Machine

>如果您的SSH密钥没有密码

docker-machine create -d generic --generic-ip-address server-ip --generic-ssh-key key-file --generic-ssh-user username machine-name

>如果您使用ssh-agent来管理密钥

docker-machine create -d generic --generic-ip-address server-ip --generic-ssh-user username machine-name

然后,您将能够在本地计算机上使用docker-machine命令来控制此远程服务器.这意味着您可以启动,停止,终止,重启服务器,因此请谨慎使用

此外,一般来说,由于开头列出的要求,以及您将能够停止或终止服务器的事实,我不建议这样做. SSH进入您的服务器并从那里做一切都更安全.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐