docker_Machine
是一个远程的管理工具,使用docker_machine帮助我们在远程的主机上安装和配置docker
docker文档:http://docs.docker.com
docker_machine安装
参考文档:http://docs.docker.com/machine/install-machine
下载安装地址:https://gitbub.com/docker/machine/releases/
执行chmod +x /tmp/docker-machine
cp /tmp/docker-machine /usr/local/bin/docker-machine
安装步骤
主机
systemctl start docker.service
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
安装完毕后,查看版本
docker-machine version
编辑文件
vi /etc/bash_completion.d/docker-machine-down.bash
source /etc/bash_completion.d/docker-machine-down.bash
查看下载情况
cd /etc/bash_completion.d
删除 .bash文件
rm docker-machine-down.bash
设置开启启动 编辑 .bashrc文件 在./home
vi .bashrc
在文件最后一行添加
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
docker-machine远程登入
原理是通过ssh远程登入
将主机和所有要部署的主机修改ssh文件
修改sshd_config文件 允许超级用户登入你的虚拟机
vi /etc/ssh/sshd_config
查找RootLogin 开启PermitRootLogin
PermitRootLogin yes
重启sshd.service服务
# systemctl restart sshd.service
在主机电脑生成秘钥
# ssh-keygen
将秘钥分发给对方
# ssh-copy-id root@[登入主机ip]
修改所有的主机sudoers文件
# vi /etc/sudoers
将visiblepw前面的!去掉
Defaults visiblepw
Create a machine
docker-machine create --driver generic \
--generic-ip-address=[控制ip] [设置主机名:如host1]
在主机下查询创建的machine
# docker-machine ls
控制主机的主机名已经改变,输入bash查看即可
# bash
在主机下,控制(控制主机)host
# docker-machine env host1
# eval $(docker-machine env host1)
# bash
切换到其它主机host2
# docker-macher env host2
# eval $(docker-machine env host1)
退出控制主机
exit
主机间相互拷贝文件
# docker-machine scp 文件所在主机:[文件路径] \
# 目标主机:[放置路径]
# docker-machine scp host1:[文件路径] host2:[放置路径]
docke1和docker2之间的免密码登入
使用的是不对称加密:
-
公钥:给别人,加密
-
私钥:给自己,解密
1.产生自己的公钥和私钥
#ssh-keygen -t rsa
在/root/.ssh
下会生成两个文件 id_rsa.(私钥) 和 id_rsa.pub.(公钥)
2.把共钥给别人(对方)
#ssh-copy-id -i .ssh/id_rsa.pub root@['对方ip']
3.对方收到公钥信息
保存在home .ssh/authorized_keys
4.docker2产生一个密码字符串
5.docker2使用docker1的公钥对密码字符串进行加密
6.把加密的字符串发给docker1
7.docker1收到docker2发来的加密信息
8.使用docker1的私钥进行解密
9.把解密后的文件发给docker2
10.收到docker1发来的解密的字符串
与之前的产生的密码字符串进行比对
如果一样,docker1就可以不用密码登入进docker2
前三步是安装和配置,从第四部开始是我们的认证
在docker1中远程登入docker2可以不用输秘钥