docker之docker-machine用法详解
docker-machine 是docker官方提供的docker管理工具。
通过docker-machine可以轻松的做到:
在windows平台和mac平台安装和运行docker
搭建和管理多个docker 主机
搭建swarm集群
环境win下面安装的virtualbox,virtualbox安装的centos7,网络模式nat+hostonly
ip:192.168.56.102(hostonly)
1、安装docker-machine:
2、查看docker-machine版本:
3、在centos7环境下创建machine:
但是却报错了,以为virtualbox安装的centos7环境支持的是virtualbox驱动,才发现环境安装支持virtualbox驱动
使用virtualbox驱动需要安装virtualbox,而ubuntu的解决方法为:
于是采用generic驱动,具体介绍查看官网:
generic-ssh-user=root vm
running pre-create checks...
creating machine...
(vm) importing ssh key...
waiting for machine to be running, this may take a few minutes...
detecting operating system of created instance...
waiting for ssh to be available...
error creating machine: error detecting os: too many retries waiting for ssh to be available. last error: maximum number of retries (60) exceeded
--generic-ip-address=192.168.56.102:这里的ip是指本机,如果需要为其他远程docker主机安装可以改为其他docker主机ip(这里是本地创建docker-machine)
依然报错,这是由于docker-machine为本机创建machine时也需要进行ssh认证:
将密码发给自己,然后重新继续创建machine:
于是终于创建machine成功了
查看docker-machine:
查看vm的环境变量:
加载环境变量:
利用ssh登录到machine中:
现在在本地环境创建一个容器启动:
然后ssh远程到docker-machine中:
可以看见docker主机和docker-machine主机里面的容器id相同
利用docker-machine能够安装docker和创建容器
上面是本地为自己创建machine,现在为远程的docker主机创建docker-machine:
环境:centos7,192.168.101.14,vmware下面安装的docker以及docker-machine,为192.168.56.102这台docker主机创建machine:
(两个ip不同进行了转发所以可以访问(前面是vm下面的nat的静态ip,后面是virtualbox的两张网卡(nat和host only)))
1、首先将192.168.101.14和主机192.168.56.102进行ssh连接认证:
2、创建machine:
执行环境变量,进入到machine环境:
3、查看创建的machine:
可以看见在192.168.101.14环境上为远程主机192.168.56.102创建的machine
4、创建容器:
现在查看远程主机是否创建了容器:
报错原因:
由于刚刚在192.168.56.102为自己设置了machine,保留了之前machine的环境变量,虽然现在删除了,但是设置了环境变量,将刚刚设置的环境变量取消:
然后重新查看:
可以发现,为远程主机创建容器成功
现在192.168.101.14上面存在镜像centos_nginx:v4,而远程主机192.168.56.102没有该镜像,现在创建容器,看是否远程主机能够创建成功?
然后在远程主机查看:
可以看见两主机的镜像同步,也是容器也是同步的
vm下面的docker可以为virtualbox下面的docker创建容器
而更多的是本地可以为云等其他环境创建容器,通过docker-machine
在这之前192.168.101.14的images都不见了,那是因为设置machine环境变量:
执行上面将machine的环境变量取消就可以返回原来的环境了:
而如果需要返回machine环境就继续执行machine环境变量就行,这种方式很好的隔离了本地和远程镜像和容器
到此这篇关于docker之docker-machine用法详解的文章就介绍到这了,更多相关docker machine 用法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: JavaSE基础面试题目分析
下一篇: docker CPU限制的实现