1.docker-machineDOCKER技术在推出后掀起了一阵容器化技术的热潮,容器化使得服务的部署变得极其简易,这为微服务和分布式计算提供了很大的便利。
为了把容器化技术的优点发挥到极致,docker公司先后推出了三大技术:docker-machine,docker-compose,docker-swarm,可以说是几乎实现了容器化技术中所有可能需要的底层技术手段。
doceker-machine是在解决docker运行环境的问题 docker-compose是在解决容器编排的问题
docker-swarm是解决多主机多个容器的部署调度的问题
Docker Machine是一个简化安装Docker环境的工具,作用是创建和管理docker主机。
1.1.machine安装安装包:
docker-machine-Linux-x86_64-0.16.1
这个是二进制文件,只需要增加执行权限
mv docker-machine-Linux-x86_64-0.16.1 /usr/local/bin/docker-machine chmod +x /usr/local/bin/docker-machine
在真机上,我们需要下载get-docker脚本到http发布目录下并修改一下get-docker.sh
cd /var/www/html
wget https://get.docker.com/
vim get-docker.sh
yum_repo="http://172.25.76.250/docker-ce.repo"
yum源设置到apache发布目录中的docker-ce.repo
vim docker-ce.repo
[docker] name=docker-ce baseurl=http://172.25.76.250/20 gpgcheck=0
其中20目录里有docker-ce-19-03版本所有的rpm包
准备一台虚拟机server3 将server1,server3做免密处理:
ssh-keygen ssh-copy-id server3:
docker-machine create --driver generic --engine-install-url "http://172.25.0.250/get-docker.sh" --generic-ip-address=172.25.0.3 server3
server3:
ps ax
可以看到在server3上以及开始执行安装docker-ce动作
在server5上查看docker-machine的进程
能够看到运行在server3上
完成之后,我们可以使用docker-machine来控制server3
docker-machine stop server2 docker-machine restart server2 docker-machine status server2 docker-machine config server2
显示访问server3所需的环境变量,最后一行就是控制server3的方式
docker-machine env server3
当控制server3之后docker images看到的是被控制的容器的镜像
将下面几个组件放置这个目录下
cd /etc/bash_completion.d mv /root/*.bash .
vim .bashrc
PS1='[u@h W$(__docker_machine_ps1)]$ '
source .bashrc
其中若一直出现 -bash: __docker_machine_ps1: command not found
则在.bashrc 中添加
source /etc/bash_completion.d/docker-machine-wrapper.bash source /etc/bash_completion.d/docker-machine-prompt.bash source /etc/bash_completion.d/docker-machine.bash
然后再source就可以
退出当前shell,重新登陆即可生效
[root@foundation76 Desktop]# ssh root@172.25.76.5 [root@server5 ~]#eval $(docker-machine env server3)
清楚的知道当前在哪个容器中。



