docker三剑客(一)docker-machine

简介

docker-machine是安装docker环境的一个工具,可以在一台机器上通过命令控制几台机器安装docker环境,运行docker命令,创建docker swarm集群的工具。

安装

docker-machine和compose有点类似,都是一个可运行的linux二进制文件(下面都是基于linux版本做的),下载下来这个文件后放到/usr/local/bin里面设置文件权限就可以直接使用了,docker-machine的github地址
https://github.com/docker/machine

curl -L https://github.com/docker/machine/releases/download/v0.10.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
    chmod +x /tmp/docker-machine &&
    sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

使用

按照docker-machine github上的介绍,它是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。根据他的描述和github上的例子可以看出他可以直接在指定平台上创建机器。
我们这里只测试已经创建好有ip的实体机或者虚拟机。
docker-machine操作各个机器实际上用ssh无密码访问的,如果是在已经配置好ip的实体机或虚拟机上用就要手动或者使用脚本设置无密码访问了。

  • 无密码访问
ssh-keygen #一直回车
ssh-copy-id root@192.168.1.28 #ip为docker-machine要操作的机器,输入密码
##上面结束之后,每台机器上还得安装net-tools,docker-machine会用到netstat命令来检测端口使用情况,如果机器上没有安装会报错。如果你确定那台机器上的端口没问题,即使报错也没问题,最终那台机器还是会加入到docker-machine的管理中。
yum install net-tools
  • 连接机器
docker-machine create -d generic --generic-ip-address=192.168.1.28 node28

node28为给机器的别名
-d generic驱动类型
–generic-ip-address 要控制机器的ip,必须
–generic-engine-port docker-engine的远程访问端口,默认为2376
–generic-ssh-key 远程访问机器的私钥,默认使用.ssh/下面的私钥
–generic-ssh-user 远程访问机器的用户名,默认为root
–generic-ssh-port 远程ssh访问的端口,默认为22
–engine-insecure-registry docker-engine的insecure-registry
–engine-install-url 安装docker-engine的地址,默认为”https://get.docker.com”
–engine-registry-mirror docker-engine镜像的代理地址
上面的命令根据国内环境可以换为下面

docker-machine create \
-d generic \
--generic-ip-address=192.168.1.28 \
--engine-install-url=https://get.daocloud.io/docker/   \
--engine-registry-mirror=http://91c0cc1e.m.daocloud.io  \
node28 

通过docker-machine连接了各个机器后,就可以通过docker-machine来操作各个机器了,更多命令查看 docker-machine –help

你可能感兴趣的:(docker)