零基础学习 Docker(六)| 关于多主机管理

作者: 王炳明 分类: Docker 发布时间: 2020-12-25 14:34 热度:155

0. 系列导读

本系列共六篇:

1. 安装Docker Machine

Github:Docker Machine
由于版本更新太快,所以最好按照官网的文档来。
Install Docker Machine

curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

改用了阿里源

curl -L https://mirrors.aliyun.com/docker-toolbox/linux/machine/0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && 
chmod +x /tmp/docker-machine && 
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

chmod +x /usr/local/bin/docker-machine

安装完,检查是否成功

docker-machine version
docker-machine ls

安装tab自动补全脚本,放在/etc/bash_completion.d目录下

https://github.com/docker/machine/tree/master/contrib/completion/bash

2. 创建Docker Machine

所以要自动再准备一个host,我这里创建了台虚拟机,IP为192.168.2.54
并设置了双机互信

mkdir ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh
# 在节点A上执行
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# 在节点B执行
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# 然后把上面两个authorized_keys文件的内容合并,并在两个节点都留有一份

创建(创了好多次才成功)
参数可以参考:Docker Machine Generic驱动

docker-machine create \
  --driver generic \
  --generic-ip-address 192.168.2.54 \
  --generic-ssh-key ~/.ssh/id_rsa \
  --generic-ssh-port 57891 \
  bm-docker-02

零基础学习 Docker(六)|  关于多主机管理插图

centos的配置文件路径如下,ubuntu的有所不同

/etc/systemd/system/multi-user.target.wants/docker.service

通过查看进程,左边是用docker-machine安装有docker,和手动安装有所不同
红框标出的,表示,允许远程连接。
零基础学习 Docker(六)|  关于多主机管理插图(1)

3. 管理Docker Machine

# 查看环境变量
docker-machine env bm-docker-02

# 把环境变量为已所用,执行后,docker的所有操作都相当于在bm-docker-02操作的
eval $(docker-machine env bm-docker-02)
docker ps  # 显示的是bm-docker-02的容器列表

# 批量更新docker
docker-machine upgrade bm-docker-01 bm-docker-02

# 查看配置
docker-machine config bm-docker-02

# 传输文件
docker-machine scp bm-docker-01:/tmp/a bm-docker-02:/tmp/b
weixin

文章有帮助,请作者喝杯咖啡?

发表评论

邮箱地址不会被公开。 必填项已用*标注