<强>码头工人的机器是什么? 强>
码头工人的机器是码头工人官方提供的一个工具,它可以帮助我们在远程的机器上安装码头工人,或者在虚拟机主机上直接安装虚拟机并在虚拟机中安装码头工人。我们还可以通过docker-machine命令来管理这些虚拟机和码头工人。下面是来自码头工人机官方文档的一张图,很形象哦!
本文将通过一系列演示来展示码头工人机的主要使用场景。
<>强安装码头工人机强>
安装码头工人的机器前请先在本地安装码头工人。
码头工人的机器的安装十分简单,在Ubuntu中直接把可执行文件下载到本地就可以了。
$ curl https://github.com/docker/machine/releases/download/v0.12.0/docker-machine- - l ' uname - s”——“uname - m的祝辞/tmp/docker-machine chmod + x/tmp/docker-machine美元 $ sudo mv/tmp/docker-machine/usr/local/bin/docker-machine >之前其中v0.12.0是最新的版本。当然码头工人的机器是个开源项目,你可以选择安装不同的版本,或者是自行编译。下图为笔者安装之后显示的版本信息:
<强>在远程主机上安装码头工人强>
如果我们有多台Ubuntu主机都需要安装码头工人,怎么办呢?是不是一个个登录上去通过apt-get命令安装呢?当然不需要,通过docker-machine命令我们可以轻松的在远程主机上安装码头工人。
在使用docker-machine进行远程安装前我们需要做一些准备工作:
1. 在目标主机上创建一个用户并加入sudo组
2. 为该用户设置sudo操作不需要输入密码
3.把本地用户的ssh公钥添加到目标主机上比如我们要在远程主机上添加一个名为尼克的用户并加入sudo组:
$ sudo adduser尼克 $ sudo usermod - a - g sudo尼克然后设置sudo操作不需要输入密码:
$ sudo visudo把下面一行内容添加到文档的最后并保存文件:
尼克=(:全部)NOPASSWD:所有最后把本地用户的ssh公钥添加到目标主机上:
ssh-copy-id我~/. ssh/id_rsa美元。酒吧nick@xxx.xxx.xxx.xxx这几步操作的主要目的是获得足够的权限可以远程的操作目标主机。
在本地运行下面的命令:
美元docker-machine创建- d通用\ ——generic-ip-address=xxx.xxx.xxx。xxx \ ——generic-ssh-user=尼克\ ——generic-ssh-key ~/sh/id_rsa \ krdevdb >之前注意,创建命令本是要创建虚拟主机并安装码头工人,因为本例中的目标主机已经存在,所以仅安装Docker.-d是——司机的简写形式,主要用来指定使用什么驱动程序来创建目标主机.Docker机支持在云服务器上创建主机,就是靠使用不同的驱动来实现了。本例中使用通用就可以了。接下来以——通用开头的三个参数主要是指定操作的目标主机和使用的账户。最后一个参数krdevdb是虚拟机的名称,码头工人的机器会用它来设置目标主机的名称。
好了,就这么简单,经过简短的等待码头工人就在目标机器上安装成功了:
我们可以通过码头工人的机器的ls命令查看当前可管理的主机列表:
其中的krdevdb主机就是刚才我们安装了码头工人的主机,最后一列显示了安装的码头工人版本:v17.05.0-ce。
然后执行eval(美元docker-machine env krdevdb)命令,就可以通过本地的客户端操作远程主机上的码头工人守护进程了。执行码头工人版本命令看看:
请注意上图中的客户机和服务器版本不一样,这也说明了我们正在使用本地的客户端连接远程的服务器。
码头工人的机器是什么?