设为首页 收藏本站
查看: 927|回复: 1

[经验分享] Docker Machine

[复制链接]

尚未签到

发表于 2017-12-6 07:34:28 | 显示全部楼层 |阅读模式
前言
  原规划本篇文章总结docker多主机网络,但是总结多主机网络之前必须要先能够方便的搭建多主机环境,于是有了本文。
  什么是Docker Machine?个人理解就是一个简单版的docker集群管理工具,用它能够直接在其它服务器上安装docker以及管理其上docker,而无需逐机操作。应该是有些类似docker swarm,其实对二者了解还都不深,不在这里做过多的妄测,以免贻笑大方。本文同样是在CloudMan相关教程的基础上,增加部分自己的理解,以便在下一篇总结docker多主机之前能够首先提供一个搭建多主机docker的环境。

一、Docker Machine安装

1.1 安装docker machine
  很简单,只需要执行以下语句即可:
  

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:


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

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

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

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

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


  • 常规 Linux 操作系统
  • 虚拟化平台 - VirtualBox、VMWare、Hyper-V
  • OpenStack
  • 公有云 - Amazon Web Services、Microsoft Azure、Google Compute Engine、Digital Ocean等
2.2 创建 Docker machine 主机
  创建machine主机要求能够无密码登录远程主机,所以需要先通过如下命令将ssh key 拷贝到目标主机:
  

ssh-copy-id -i dest_host_ip  

  其中dest_host_ip为目标主机IP地址。
  一切准备就绪,执行 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  

三、管理 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上操作。

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421042-1-1.html 上篇帖子: 调试 Dockerfile 下篇帖子: docker应用-6(mysql+mycat 搭建数据库集群)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表