Docker Machine

前言

原规划本篇文章总结docker多主机网络,可是总结多主机网络以前必需要先可以方便的搭建多主机环境,因而有了本文。git

什么是Docker Machine?我的理解就是一个简单版的docker集群管理工具,用它可以直接在其它服务器上安装docker以及管理其上docker,而无需逐机操做。应该是有些相似docker swarm,其实对两者了解还都不深,不在这里作过多的妄测,以避免贻笑大方。本文一样是在CloudMan相关教程的基础上,增长部分本身的理解,以便在下一篇总结docker多主机以前可以首先提供一个搭建多主机docker的环境。github

1、Docker Machine安装

1.1 安装docker machine

很简单,只须要执行如下语句便可:docker

curl -L https://github.com/docker/machine/releases/download/v0.9.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。shell

1.2 安装命令提示

为了获得更好的体验,能够安装bash completion script,这样在bash中可以经过tab 键补全docker-mahine的子命令和参数。安装方法是从https://github.com/docker/machine/tree/master/contrib/completion/bash下载completion script:bash

  1. docker-machine-prompt.bash
  2. docker-machine-wrapper.bash
  3. docker-machine.bash

将上述三个文件放置到/etc/bash_completion.d目录下,并将以下代码添加到$HOME/.bashrc:服务器

PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '

这样就能在输入docker-machine命令时获得提示信息。网络

2、Docker Machine在其余主机安装Docker环境

2.1 Docker Machine 支持的主机类型

用Docker Machine能够批量安装和配置docker host,其支持在不一样的环境下安装配置docker host,包括:app

  1. 常规 Linux 操做系统
  2. 虚拟化平台 - VirtualBox、VMWare、Hyper-V
  3. OpenStack
  4. 公有云 - Amazon Web Services、Microsoft Azure、Google Compute Engine、Digital Ocean等

2.2 建立 Docker machine 主机

建立machine主机要求可以无密码登陆远程主机,因此须要先经过以下命令将ssh key 拷贝到目标主机:ssh

ssh-copy-id -i dest_host_ip

其中dest_host_ip为目标主机IP地址。curl

一切准备就绪,执行 docker-machine create 命令建立:

docker-machine create --driver generic --generic-ip-address dest_host_ip machinename

其中machinename为你要建立的machine的名字,系统也会自动将此名称修改成目标主机的hostname。--driver表示目标主机的类型,向普通的Linux中部署docker,使用generic,其余driver能够参考文档https://docs.docker.com/machine/drivers/。--generic-ip-address指定目标系统的IP。

可使用如下命令查看全部以安装节点:

docker-machine ls

3、管理 Docker Machine

3.1 docker machine 经常使用命令

能够经过docker-machine --help查看docker-machine经常使用命令,通俗易懂。如下介绍几个经常使用命令:

docker-machine upgrade

docker-machine upgrade host1 host2

批量更新目标主机docker版本

docker-machine config

docker-machine config host1

查看host1的 docker daemon 配置。

docker-machine inspect

docker-machine inspect host1

查看host1的docker配置详细状况。

docker-machine scp

docker-machine scp [machine1:][path] [machine2:][path]

在不一样machine之间拷贝文件。

3.2 docker machine 管理目标主机

没有docker machine的时候,执行远程docker命令咱们须要经过-H指定目标主机的链接字符串,好比:

docker -H tcp://192.168.56.105:2376 ps

此命令能够查看目标主机的容器列表

有了docker machine以后只须要执行:

eval $(docker-machine env machinename)

而后在其下操做,便如同直接在machinename上操做。

4、总结

本文简单总结了Docker Machine的相关知识,算是为下一步的多主机网络打个基础。

相关文章
相关标签/搜索