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以什么为虚拟化技术的驱动
![](http://lizhenliang.blog.51cto.com/e/u261/themes/default/images/spacer.gif)
![](http://s4.51cto.com/wyfs02/M01/78/CE/wKiom1aDiz7T-9ZSAABJHO1GfWQ140.png)
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
Machine是一个简化安装Docker环境的工具。怎么简化法,例如,在ubuntu安装一个docker环境要按照U这个系统配置教程来装,哪天又换了CentOS系统,又要按照这个系统配置教程装。市场上主流Linux系统版本很多,每次安装岂不有些麻烦。使用Machine工具就简单很多,一两条命令即可在主流Linux系统上安装Docker环境,用户不用考虑什么操作系统。
另一方面,Machine还具备Docker工具管理什么虚拟化技术,Generic驱动默认管理LXC容器技术。我个人理解是这样的,具体Docker官方初衷设计如何,还需进一步探索。
注意:Machine安装docker环境中会因网络或其他情况造成安装失败,使用中发现,这种安装失败频率很高,感觉没有使用的价值,说白了,一个公司操作系统一般不会超过两个发行版,写个脚本一键安装也许会更方便!
1、先看下Docker Machine支持Docker以什么为虚拟化技术的驱动
![](http://lizhenliang.blog.51cto.com/e/u261/themes/default/images/spacer.gif)
![](http://s4.51cto.com/wyfs02/M01/78/CE/wKiom1aDiz7T-9ZSAABJHO1GfWQ140.png)
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的实际作用。
如果不添加这个条,可能报下面的错:
# 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
$ vi 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容器的网络信息查看
- 在windows下的安装Docker的教程
- 8个你可能不知道的Docker知识
- 在Docker中自动化部署Ruby on Rails的教程
- 搭建基于Docker的PHP开发环境的详细教程
- 利用OpenVSwitch在多台主机上部署Docker的教程
- ubuntu14.04+docker的安装及使用
- Docker 清理命令集锦
- 再Docker中架设完整的WordPress站点全攻略
- 基于 Docker 开发 NodeJS 应用
- 使用Docker来加速构建Android应用的基本部署思路解析
- 在Docker上部署Python的Flask框架的教程
- 在Docker上开始部署Python应用的教程
- 详解在Python和IPython中使用Docker
- 使用IPython来操作Docker容器的入门指引
- OSX下brew安装docker(boot2docker)
- docker 设置TLS远程访问
- mesos + marathon + docker部署
- docker-registry server部署
- python3操作Docker Remote API