微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hello Docker八——Docker Machine

Hello Docker(八)——Docker Machine

一、Docker Machine简介

1、Docker Machine简介

Docker Machine是Docker官方编排(orchestration)项目之一,基于Go语言实现,用于在各种平台上配置和管理Docker主机,可以通过指定driver来定制虚拟机的实现原理。

Hello Docker(八)——Docker Machine

Docker Machine功能如下:
(1)在指定节点上安装Docker Engine,配置其为Docker主机。
(2)集中管理所有Docker主机。
Github地址: https://github.com/docker/machine/

2、Docker Machine安装

docker-machine下载:
wget https://mirrors.aliyun.com/docker-toolbox/linux/machine/0.15.0/docker-machine-Linux-x86_64
mv docker-machine-Linux-x86_64 /usr/local/bin/docker-machine
docker-machine权限修改
sudo chmod +x /usr/local/bin/docker-machine
docker-machine version

3、Docker Machine脚本部署

Docker Machine脚本包括docker-machine-wrapper.bash、docker-machine-prompt.bash、docker-machine.bash,下载地址:
https://github.com/docker/machine/tree/master/contrib/completion/bash
下载docker-machine-wrapper.bash、docker-machine-prompt.bash、docker-machine.bash至/etc/bash_completion.d目录。
$HOME/.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
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '

4、Docker Machine支持平台

Docker Machine支持多种平台,如下:
(1)Linux操作系统。
(2)虚拟化平台-VirtualBox、VMware、Hyper-V。
(3)Openstack
(4)公有云-Amazon Web Services、Microsoft Azure、Google Compute Engine、Digital Ocean等 
不同平台需要使用不同的驱动引擎,docker-machine create时使用-d或者--driver参数指定驱动引擎名称

二、docker-machine常用命令

1、Docker管理命令

docker-machine create -d virtualBox DockerHost
创建Docker Host
docker-machine kill DockerHost
强制关闭一个Docker Host
docker-machine restart DockerHost
重启Docker Host
docker-machine rm DockerHost
删除Docker Host
docker-machine ssh DockerHost
SSH登录到Docker Host
docker-machine scp DockerHost1:/xxx/xxx DockerHost2:/xxx/xxx
在不同的Docker Host间拷贝
docker-machine start DockerHost
启动Docker Host
docker-machine stop DockerHost
停止正在运行的Docker Host
docker-machine upgrade DockerHost1 DockerHost2
升级 DockerHost1、DockerHost2的docker daemon到最新版本
docker-machine use DockerHost
切换Docker Machine到访问DockerHost的环境

2、Docker状态查看命令

docker-machine active
显示当前的活动主机
docker-machine config DockerHost
显示Docker Host的配置
docker-machine env DockerHost
查看DockerHost的环境变量
docker-machine inspect DockerHost
查看Docker Host的详细信息
docker-machine ip DockerHost
查看Docker Host的IP
docker-machine ls
查看当前所有Docker Host信息
docker-machine provision DockerHost
重新配置Docker Host
docker-machine regenerate-certs Docker Host
为Docker Host重新生成证书
docker-machine status DockerHost
查看Docker Host的状态
docker-machine version
查看docker-machine版本

三、Docker部署

1、VirtualBox安装

VirtualBox下载:
https://www.virtualbox.org/wiki/Linux_Downloads
http://download.virtualbox.org/virtualbox/rpm/rhel/7/x86_64/
下载相应的VirtualBox安装包,使用RPM安装。

2、免密登录配置

ssh-keygen -t rsa
生成密钥
ssh-copy-id 139.155.40.171
拷贝私钥到远程主机,实现免密登录

3、创建远程Docker Host

docker-machine create -d generic --generic-ssh-user=root --generic-ip-address=139.155.40.171 docker171
Docker Machine在执行create命令过程中生成了一系列保证安全性的秘钥和数字证书文件,用于Docker daemon和Docker客户端的TLS证书认证机制
,实现安全通信。本地和远程Docker主机各保存一份,本地保存在~/.docker/machine/machines/DockerHost,用于配置Docker客户端;远程Docker主机保存在/etc/docker,用于配置Docker daemon。

4、创建本地Docker Host

boot2docker是一个轻量级的Linux发行版,基于专门为运行docker容器而设计的Tiny Core Linux系统,完全从RAM运行,45MB左右,启动时间约5s。
boot2docker.iso下载:
https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso
拷贝boot2docker.iso到/root/.docker/machine/cache
docker-machine create --driver virtualBox --engine-registry-mirror https://1rqn7spi.mirror.aliyuncs.com docker100

5、配置环境变量

docker-machine env docker171
查看DockerHost所需环境变量
eval $(docker-machine env docker171)
设置要连接远程Docker Host的环境变量
eval "$(docker-machine env -u)"
取消要连接远程Docker Host的环境变量

6、运行Docker容器

docker-machine run -d Nginx
运行Nginx服务
docker-machine ssh docker171
SSH登录远程Docker Host

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐