码迷,mamicode.com
首页 > 系统相关 > 详细

Hello Docker(八)——Docker Machine

时间:2020-11-01 21:00:22      阅读:31      评论:0      收藏:0      [点我收藏+]

标签:ORC   tls   详细信息   home   spi   发行版   显示   通过   安全性   

Hello Docker(八)——Docker Machine

一、Docker Machine简介

1、Docker Machine简介

Docker Machine是Docker官方编排(Orchestration)项目之一,基于Go语言实现,用于在各种平台上配置和管理Docker主机,可以通过指定driver来定制虚拟机的实现原理。
技术图片
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

Hello Docker(八)——Docker Machine

标签:ORC   tls   详细信息   home   spi   发行版   显示   通过   安全性   

原文地址:https://blog.51cto.com/9291927/2543304

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!