码头工人的机器是什么?

  

<强>码头工人的机器是什么?

  

码头工人的机器是码头工人官方提供的一个工具,它可以帮助我们在远程的机器上安装码头工人,或者在虚拟机主机上直接安装虚拟机并在虚拟机中安装码头工人。我们还可以通过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)命令,就可以通过本地的客户端操作远程主机上的码头工人守护进程了。执行码头工人版本命令看看:

  

码头工人的机器是什么?

  

请注意上图中的客户机和服务器版本不一样,这也说明了我们正在使用本地的客户端连接远程的服务器。

码头工人的机器是什么?