我想在运行CentOS7的服务器上安装docker主机(如果重要的话,我在PC上的Virtualbox中运行)。
我知道有多个云提供商(亚马逊,谷歌,DigitalOcean等)的驱动程序,但如果我想使用自己的私人服务器,我无法弄清楚该做什么。
我尝试将--driver generic
与来宾操作系统的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的事实有关吗?
答案 0 :(得分:7)
是的,您可以使用docker-machine
在Linux服务器上配置和控制docker-engine
,即将现有的Linux服务器导入为Docker Machine
。对此有几个要求:
ssh-agent
管理。满足要求后,您可以使用以下方法之一将服务器导入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进入您的服务器并从那里做所有事情更加安全。