docker-machine(部署)

Docker-machine是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。

安装 Docker Machine

1.在官网下载docker-machine-Linux-x86_64-1.15.0安装包

[root@foundation3 ~]# cd /usr/local/bin/
[root@foundation3 bin]# chmod +x docker-machine-Linux-x86_64-1.15.0
###给执行权限
[root@foundation3 bin]# ln -s docker-machine-Linux-x86_64-1.15.0 docker-machine
###做软链接

docker-machine(部署)_第1张图片
查看一下安装版本
这里写图片描述
2.因为docker-machine是通过ssh连接到其它主机的,所以要做ssh免密

[root@foundation3 ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ce:b1:11:34:7d:15:8c:8d:e4:47:dc:2b:49:0e:f7:d4 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|        o. ..B+o.|
|       . ..o+++.E|
|        .  .* = .|
|         .   = o |
|        S     .  |
|       o +       |
|        +        |
|                 |
|                 |
+-----------------+

查看钥匙已生成
这里写图片描述
把本地用户生成的key,添加到目标主机上

[root@foundation3 .ssh]# ssh-copy-id 172.25.3.1
在server1上添加
[root@foundation3 .ssh]# ssh-copy-id 172.25.3.2
在server2上添加
[root@foundation3 .ssh]# ssh-copy-id 172.25.3.3
在server3上添加

测试免密是否成功:
docker-machine(部署)_第2张图片
3.安装命令:

###在这里我们添加3台目标主机
[root@foundation3 ~]#docker-machine create --driver generic --generic-ip-address=172.25.3.1 server1
[root@foundation3 ~]# docker-machine create --driver generic --generic-ip-address=172.25.3.2 server2
[root@foundation3 ~]# docker-machine create --driver generic --generic-ip-address=172.25.3.3 server3

docker-machine(部署)_第3张图片
注意:
create 命令本是要创建虚拟主机并安装 Docker,因为本例中的目标主机已经存在,所以仅安装 Docker。 –driver 的形式,主要用来指定使用什么驱动程序来创建目标主机。Docker Machine 支持在云服务器上创建主机,就是靠使用不同的驱动来实现了。本例中使用 generic 就可以了。接下来以 –generic 开头的参数主要是指定操作的目标主机,最后一个参数 server1是虚拟机的名称,Docker Machine 会用它来设置目标主机的名称。

检查安装结果
我们可以通过 Docker Machine 的 ls 命令查看当前可管理的主机列表:
docker-machine(部署)_第4张图片

测试通过docker-machine建立的效果
删掉之前建立的server2虚拟机节点

[root@foundation3 ~]# docker-machine rm server2
About to remove server2
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
Successfully removed server2

关掉server2上的docker,查看状态
docker-machine(部署)_第5张图片
再次创建时,它会自动开启docker

[root@foundation3 ~]# docker-machine create --driver generic --generic-ip-address=172.25.3.2 server2

docker-machine(部署)_第6张图片
去server2上,查看docker状态
docker-machine(部署)_第7张图片
查看目标主机的环境变量

[root@foundation3 ~]# docker-machine env server3
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://172.25.3.3:2376"
export DOCKER_CERT_PATH="/root/.docker/machine/machines/server3"
export DOCKER_MACHINE_NAME="server3"
# Run this command to configure your shell: 
# eval $(docker-machine env server3)

根据提示我们执行eval $(docker-machine env server3)命令
连接到server3

[root@foundation3 ~]# eval $(docker-machine env server3)
[root@foundation3 ~]# docker version  ###查看版本

docker-machine(部署)_第8张图片
接下来运行的docker命令操作的都是远程主机server3上的Docker daemon
这里写图片描述
为了区分本机的Docker daemon 操作
我们重新启动一个新的命令行终端,然后也执行 docker ps 命令:
这里写图片描述
可以看出两者的容器信息不同,server3里就没有容器

你可能感兴趣的:(docker-machine(部署))