您的位置:首页 > 运维架构 > Docker

Docker Machine快速安装Docker环境(二)

2016-03-03 15:01 721 查看
什么是Docker Machine?

Machine是一个简化安装Docker环境的工具。怎么简化法,例如,在ubuntu安装一个docker环境要按照U这个系统配置教程来装,哪天又换了CentOS系统,又要按照这个系统配置教程装。市场上主流Linux系统版本很多,每次安装岂不有些麻烦。使用Machine工具就简单很多,一两条命令即可在主流Linux系统上安装Docker环境,用户不用考虑什么操作系统。

另一方面,Machine还具备Docker工具管理什么虚拟化技术,Generic驱动默认管理LXC容器技术。我个人理解是这样的,具体Docker官方初衷设计如何,还需进一步探索。

注意:Machine安装docker环境中会因网络或其他情况造成安装失败,使用中发现,这种安装失败频率很高,感觉没有使用的价值,说白了,一个公司操作系统一般不会超过两个发行版,写个脚本一键安装也许会更方便!

1、先看下Docker Machine支持Docker以什么为虚拟化技术的驱动






2、安装Docker-Machine

操作系统:Ubuntu14.04_x64

docker-machine代码托管在github上,而二进制文件存储在AWS S3上,因此需要翻墙才可以下在,我也上传了一个到51cto,可以下载使用:http://down.51cto.com/data/2139681

下载后上传到Ubuntu系统的当前目录下,然后执行:

$ sudo mv docker-machine_linux-amd64 /usr/local/bin/docker-machine

如果能访问AWS S3存储,可以在root用户下直接运行下面这个命令:

$ curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64 >/usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine

当命令执行成功后,就可以查看到版本:

$ docker-machine version

docker-machine version 0.5.3, build 4d39a66

3、接下来用docker-machine命令快速创建Docker主机

注意:docker-machine通过ssh连接到Docker主机,从网上下载并安装docker工具,需要用root权限来安装,在ubuntu系统下,默认禁止root用户登录系统,因此需要先配置root允许SSH登录系统并免交互登录或指定私钥登录。另外,以下是在本机创建Docker主机,如果创建的Docker主机不在本机,则在预创建的Docker主机配置允许root SSH远程。

1) 允许root ssh登录(本机或docker主机操作)

$ sudo -i #切换到root用户

# vi /etc/ssh/sshd_config

PermitRootLogin yes    #修改此项为允许root登录

# service ssh restart

# passwd  #按提示设置root用户密码

2) 创建密钥对(machine主机操作)

# ssh-keygen  #一直回车

3) 免交互root登录系统(machine主机操作)

# ssh-copy-id root@192.168.18.5  #将公钥拷贝到docker主机

# ssh root@192.168.18.5   #如果不提示密码登录主机说明成功,可以继续下一步了

4) 启用visiblepw(machine主机操作)

# vi /etc/sudoers

Defaults   visiblepw

按wq!保存退出!惭愧,还不太明白这个visiblepw的实际作用。

如果不添加这个条,可能报下面的错:

5) 使用generic类型的驱动,创建一台docker主机,名字为18.5

# docker-machine create -d generic --generic-ip-address=192.168.18.5 --generic-ssh-user=root 18.5

参数说明:
-d  driver  #指定基于什么虚拟化技术的驱动
--generic-ip-address  #指定要安装宿主机的IP,这里是本地的IP。也就是说,你也可以给别的主机装Docker,前提是SSH root用户免交互登录或私钥认证。
--generic-ssh-user   #SSH的用户
--generic-key-key   #指定私钥来实现免交互登录

等待数分钟后,docker就安装成功了,可以通过docker命令管理容器了。如果安装失败多尝试两次!

# docker-machine ls

针对Docker主机开启root ssh登录配置,简单写了个脚本,方面操作:

$ vi conf_root_ssh_remote.sh

$ sudo bash conf_root_ssh_remote.sh

The root account password is: 123456

说明:在预安装Docker主机上执行,执行成功后,预安装Docker主机上就不做其他操作了。

docker-machine命令:

help  查看帮助信息

active  查看活动的Docker主机

c
b8e7
onfig  输出连接的配置信息

create  创建一个Docker主机

env  显示连接到某个主机需要的环境变量

inspect  输出主机更新信息

ip  获取Docker主机地址

kill  停止某个Docker主机

ls  列出所有管理的Docker主机

regenerate-certs 
为某个主机重新成功TLS认证信息

restart  重启Docker主机

rm  删除Docker主机

scp  在Docker主机之间复制文件

ssh  SSH到主机上执行命令

start  启动一个主机

status  查看一个主机状态

stop  停止一个主机

upgrade  更新主机Docker版本为最新

url  获取主机的URL

安装参考:https://docs.docker.com/machine/install-machine/
命令参考:https://docs.docker.com/machine/reference/
本文出自 “李振良的技术博客
博客,请务必保留此出处http://lizhenliang.blog.51cto.com/7876557/1730028
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker