陶刚的博客
与你分享我的点滴

Docker-Machine工具本地的使用以及在阿里云ECS上的使用(2020实操图解)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

1、使用docker-machine工具创建虚拟机

说明:除了以上的通过Vagrant工具创建linux虚拟机和Oracle VM VirtualBox创建linux虚拟机以及VMware Workstation创建linux虚拟机以外,还可以通过(mac或者windows)安装docker后自带的docker-machine工具创建linux虚拟机

1.1 查看docker-machine版本

docker-machine version 

在这里插入图片描述

1.2 使用docker-machine创建名为demo的linux虚拟机

docker-machine create demo

在这里插入图片描述
在这里插入图片描述

1.3 查看当前运行或者创建好的机器

docker-machine ls

在这里插入图片描述

1.4 进入创建好的机器里面

docker-machine ssh demo

在这里插入图片描述

1.5 进入创建好的demo虚拟机后,查看docker客户端和服务端版本

docker version

在这里插入图片描述

1.6 docker-machine帮助命令

  • 如删除虚拟机、停止虚拟机、启动虚拟机、重启虚拟机等等操作,可以使用如下命令查看docker-machine的操作命令
docker-machine --help

在这里插入图片描述

2.对比本地docker版本与VM(虚拟机)docker版本

2.1 再次创建一台名为demo2的虚拟机

  • 执行 docker-machine create demo2命令
    在这里插入图片描述
  • 查看VBOX中创建好的demo2虚拟机
    在这里插入图片描述
  • 查看正在运行或创建好的虚拟机
    在这里插入图片描述

2.2 停止所有的虚拟机并查看docker版本

  • 停止运行demo虚拟机,然后查看状态
    在这里插入图片描述
  • 执行docker version,也就是查看本地的docker版本
    在这里插入图片描述
  • 停止demo2虚拟机,查看所有创建好的虚拟机状态
    在这里插入图片描述
  • 再次执行docker version命令,只显示出client无法连接到server端
    在这里插入图片描述

3.本地docker客户端使用VM(虚拟机)服务端

3.1 开启demo虚拟机

  • 执行docker-machine start demo命令
    在这里插入图片描述

3.2 本地docker使用远程服务器端

  • 远程进入demo虚拟机
    在这里插入图片描述
  • 查看demo虚拟机中docker版本
    在这里插入图片描述
  • 最关键的一步来了,首先查看本地docker version只看到客户端,将demo虚拟机中的环境变量导出
    在这里插入图片描述
  • 执行以上红框中的命令,将demo的环境变量设置到本地环境中
    在这里插入图片描述
  • 此时,再运行docker version命令,则看到本地docker 使用的是 demo虚拟机中的服务器了
    在这里插入图片描述

3.3 小结

通过本地docker命令远程管理一个docker machine(docker 机器),在本地只需要安装一个docker client,本地server可以通过docker-machine工具或者vagrant工具去创建一个安装好docker的server即可。

docker-machine工具给我们提供了很多种方式可以远程创建一台安装好docker的虚拟机,以上是通过本地的VBOX driver去创建的远程docker的虚拟机。

4.通过docker-machine在cloud上创建带有docker的机器

4.1 查看官网提供的cloud

  • docker官网,可以看到提供的远程driver以及第三方driver(阿里云),点击如下图的Provision hosts in the cloud即可查看官方提供的driver
    在这里插入图片描述
  • 通过在本地运行docker-machine create命令在远程的cloud(云)上面去创建一台安装好docker的一台机器,通过DigitalOcean以及Amazon Web Services (AWS)去创建不太方便,毕竟是国外的cloud
    在这里插入图片描述

4.2 在阿里云上创建安装好docker的机器

说明: 要在cloud(云)上面去创建虚拟机,需要driver支持

4.2.1 阿里云ECS Docker Machine Driver(docker机器驱动程序)安装

首先查看官方支持的driver
在这里插入图片描述
在这里插入图片描述
而要使用阿里云的driver,则需要点击进入第三方插件
在这里插入图片描述
打开后,其实是在github上维护的插件,选择Aliyun ECS点击连接进入即可
在这里插入图片描述
下载适合操作系统的二进制文件
在这里插入图片描述
然后根据文档,提取donload(下载)的包
windows为例(直接解压即可)
在这里插入图片描述
linux为例,博主是通过rz命令将下载的aliyunecs_linux包拷贝到centos7虚拟机/usr/local/bin目录下
在这里插入图片描述
mac为例则通过如下命令提取

tar zxvf docker-machine-driver-aliyunecs_darwin-amd64.tgz

接下来是重命名可执行文件,也就是将解压后的文件进行重命名

 #Windows
 docker-machine-driver-aliyunecs.windows-amd64 => docker-machine-driver-aliyunecs.exe
 
 #Linux
 docker-machine-driver-aliyunecs.linux-amd64 => docker-machine-driver-aliyunecs
 
 #Mac
 docker-machine-driver-aliyunecs.darwin-amd64 => docker-machine-driver-aliyunecs

博主这里以centos为例演示
在这里插入图片描述
然后将该命名后\usr\local\bin\bin目录(因为解压后的文件docker-machine-driver-aliyunecs在bin目录下)的docker-machine-driver-aliyunecs文件移动到\usr\local\bin目录下,并删除\usr\local\bin目录下的bin目录
在这里插入图片描述
博主的centos系统安装了docker,但是docker-machine工具需要单独安装,安装文档为:https://docs.docker.com/machine/install-machine/#install-machine-directly因为在github上下载太慢,博主采用离线方式,也就是博主之前讲的通过迅雷下载地址为:https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-Linux-x86_64下载好的docker-machine-Linux-x86_64
文件通过rz命令传输到centos /usr/local/bin目录下,然后修改可执行权限并移动到/usr/local/bin/docker-machine目录下

在这里插入图片描述
验证docker-machine是否安装成功,执行docker-machine -v命令查看版本
在这里插入图片描述
现在验证阿里云ECS的Docker Machine Driver是否安装成功,执行文档中在Aliyun ECS上创建docker实例帮助命令,如果提示命令选项,则表示安装成功
在这里插入图片描述

4.2.2 阿里云ECS Docker Machine Driver的使用

  • 首先登录进入阿里云官网控制台,搜索访问控制点击进入
    在这里插入图片描述

  • 点击用户,创建用户,选择编程方式,这样就能得到AccessKey ID 和 AccessKey Secret
    在这里插入图片描述

  • 创建成,一定要保持AccessKey ID 和 AccessKey Secret,页面关闭就不在显示了
    在这里插入图片描述

  • 创建完成如下
    在这里插入图片描述

  • 给用户添加权限,使其能够管理ECS
    在这里插入图片描述
    在这里插入图片描述

  • 打开阿里云 云服务区 ECS,点击管理控制台
    在这里插入图片描述

  • 到如下页面,点击创建云服务器实例
    在这里插入图片描述

  • 到如下页面,选择付费模式以及实例配置场景,右下方就会出现价格,默认付费模式为包年包月
    在这里插入图片描述

  • 如果是选择按流量收费模式,那么就需要账户金额至少100元
    在这里插入图片描述

  • 需要说明三点,如下在阿里云 云服务器ecs创建带有docker的虚拟机的命令中第一点 则是 –aliyunecs-region参数值为服务器地域名,该参数在地址栏后面;第二点就是aliyunecs-instance-type参数值为服务器的实例规格(反正看文档就明白的很);最后一点则是<machine-name>的值为创建云服务器ECS时的实例名称

docker-machine create -d aliyunecs --aliyunecs-io-optimized=<The I/O optimized instance type> --aliyunecs-instance-type=<The instance type to run> --aliyunecs-access-key-id=<Your access key ID for the Aliyun ECS API> --aliyunecs-access-key-secret=<Your secret access key for the Aliyun ECS API> --aliyunecs-region=<Region> <machine-name>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 切入一个新手小白的问题,以上是让大家通过aliyunecs driver命令来创建ECS实例,不是在页面上直接购买,是通过docker-machine create -d aliyunecs命令来创建实例,不是在页面上创建实例哦,只是给大家说明创建命令的参数,在页面上指的是什么

  • 为了让大家跟直观的明白,博主将实际创建命令显示出来,并执行(重点说明,博主账户没有money),所以执行命令提示您的帐户没有足够的余额

docker-machine create -d aliyunecs --aliyunecs-io-optimized=optimized --aliyunecs-instance-type=ecs.sn2ne.large --aliyunecs-access-key-id=<Your access key ID for the Aliyun ECS API> --aliyunecs-access-key-secret=<Your secret access key for the Aliyun ECS API> --aliyunecs-region=cn-qingdao tgshow

在这里插入图片描述

4.3 过程叙述

  • 如博主账户有足够的钱,就可以使用如上命令创建指定ecs服务器实例,并在实例中安装docker,通过本地执行docker-machine ls就能看到名为aliyunecs的driver了,通过docker-machine ssh tgshow就能远程进入机器中,在host中执行docker version则可以看到客户端及服务器的版本,exit退出ssh远程后,在本地通过docker-machine env tgshow命令,导出云服务器docker环境变量,最后执行eval(docker-machine env tgshow)命令后,在本地执行docker version命令显示出的server端这是阿里云的docker host了

  • 如果不想使用阿里云docker host则可以在本地执行docker-machine env –unset命令,最后执行eval(docker-machine env –unset)命令则表示不使用阿里云的docker host而是使用本机的server

  • 最后打开阿里云控制台,可以看到创建的实例在运行中,如果你在创建实例时选择的付费模式为按流量收费,则在本地使用docker-machine rm 删除阿里云的机器,并再次进行阿里云控制台检查

赞(0) 打赏
版权声明:本文为CSDN博主「cdtaogang」的原创文章,遵循CC 4.0 BY-NC-SA版权协议,转载请附上原文出处链接及本声明:记录学习生活 » Docker-Machine工具本地的使用以及在阿里云ECS上的使用(2020实操图解)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏