一、什么是docker-machine
Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。
简单的说就是一个大的集群环境您想要安装docker,以前的安装方式是一个一个的安装docker,但是如果您有docker-machine就可以由一台机器去管理了。
二、安装docker-machine
安装比较简单,网上的安装方式如下
$ curl -L https://github.com/docker/machine/releases/download/v0.12.0/docker-machine-`uname -s`-`uname -m` > /tmp/docker-machine $ chmod +x /tmp/docker-machine $ sudo mv /tmp/docker-machine /usr/local/bin/docker-machine
但是由于国情,咱们还是到官网去下载
https://github.com/docker/machine/releases/
下载以后改名、增加执行权限,这里就不详细介绍了。
三、docker-machine的使用
这里我指演示最重要的远程安装(图省事儿我就用root用户了)
假设我们有两台机器A和B
A(master)主节点
B (node) 从节点
我们要通过A给B安装docker分如下步骤:
1、要让A可以无密码登录B,命令如下
A:生成秘钥(下面命令是在A服务器完成的)
ssh-****** -t rsa
在B上创建所需文件夹,注:必须将.ssh的权限设为700
ssh [email protected]的ip "mkdir .ssh;chmod 0700 .ssh"
把**传到B上
scp ~/.ssh/id_rsa.pub [email protected]的ip:.ssh/id_rsa.pub
上面如有提示输入密码则输入密码,把“B的ip”全部换成B的IP地址
在B上的命令:
# touch /root/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)
# chmod 600 ~/.ssh/authorized_keys (# 注意: 必须将~/.ssh/authorized_keys的权限改为600, 该文件用于保存ssh客户端生成的公钥,可以修改服务器的ssh服务端配置文件/etc/ssh/sshd_config来指定其他文件名)
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (将id_rsa.pub的内容追加到 authorized_keys 中, 注意不要用 > ,否则会清空原有的内容,使其他人无法使用原有的**登录)
回到A机器:
# ssh [email protected] (不需要密码, 登录成功)
登录成功后退回到A服务器,执行
docker-machine create -d generic --generic-ip-address=B的IP --generic-ssh-user=root --generic-ssh-key ~/.ssh/id_rsa krdevdb
再执行
docker-machine ls
我们再登录机器B
我们在机器A上执行
eval $(docker-machine env krdevdb)
docker version
详细命令可看:
https://blog.csdn.net/yeyu712/article/details/79453522