docker_Machine 安装与调试

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可以不用输秘钥

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值