前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker Machine

Docker Machine

作者头像
魏守峰
发布2018-04-28 15:57:07
1.7K0
发布2018-04-28 15:57:07
举报
文章被收录于专栏:点滴积累点滴积累

前言

原规划本篇文章总结docker多主机网络,但是总结多主机网络之前必须要先能够方便的搭建多主机环境,于是有了本文。

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

一、Docker Machine安装

1.1 安装docker machine

很简单,只需要执行以下语句即可:

代码语言:javascript
复制
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。

1.2 安装命令提示

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

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

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

代码语言:javascript
复制
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '

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

二、Docker Machine在其他主机安装Docker环境

2.1 Docker Machine 支持的主机类型

用Docker Machine可以批量安装和配置docker host,其支持在不同的环境下安装配置docker host,包括:

  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 拷贝到目标主机:

代码语言:javascript
复制
ssh-copy-id -i dest_host_ip

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

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

代码语言:javascript
复制
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。

可以使用以下命令查看所有以安装节点:

代码语言:javascript
复制
docker-machine ls

三、管理 Docker Machine

3.1 docker machine 常用命令

可以通过docker-machine --help查看docker-machine常用命令,通俗易懂。以下介绍几个常用命令:

docker-machine upgrade

代码语言:javascript
复制
docker-machine upgrade host1 host2

批量更新目标主机docker版本

docker-machine config

代码语言:javascript
复制
docker-machine config host1

查看host1的 docker daemon 配置。

docker-machine inspect

代码语言:javascript
复制
docker-machine inspect host1

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

docker-machine scp

代码语言:javascript
复制
docker-machine scp [machine1:][path] [machine2:][path]

在不同machine之间拷贝文件。

3.2 docker machine 管理目标主机

没有docker machine的时候,执行远程docker命令我们需要通过-H指定目标主机的连接字符串,比如:

代码语言:javascript
复制
docker -H tcp://192.168.56.105:2376 ps

此命令可以查看目标主机的容器列表

有了docker machine之后只需要执行:

代码语言:javascript
复制
eval $(docker-machine env machinename)

然后在其下操作,便如同直接在machinename上操作。

四、总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、Docker Machine安装
    • 1.1 安装docker machine
      • 1.2 安装命令提示
      • 二、Docker Machine在其他主机安装Docker环境
        • 2.1 Docker Machine 支持的主机类型
          • 2.2 创建 Docker machine 主机
          • 三、管理 Docker Machine
            • 3.1 docker machine 常用命令
              • docker-machine upgrade
              • docker-machine config
              • docker-machine inspect
              • docker-machine scp
            • 3.2 docker machine 管理目标主机
            • 四、总结
            相关产品与服务
            容器镜像服务
            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档