DOCKER 学习笔记7 Docker Machine 在阿里云实例化ECS 以及本地Windows 实例化虚拟机实战

通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了。大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的NGINX MYSQL 等服务全部启动,而不是按照传统部署方式:

安装JDK 配置环境变量

安装MYSQL 启动服务

安装NGINX 配置文件

启动调试 。。。。

要是还有一台机器需要部署呢?你是不是也得按照这个顺序再来一遍,这也太麻烦了。

本节要学习的内容是DOCKER 三剑客第二 Docker Machine

Docker Machine

Docker Machine 是一个工具,可以让您在虚拟主机上安装 Docker Engine,并使用 Docker-Machine 命令管理主机。 你可以使用 Machine 在你本地的 Mac 或 Windows 机顶盒上,在你的公司网络上,在你的数据中心上,或者在像 Azure,AWS,DigitalOcean 这样的云提供商上创建 Docker 主机。

Docker Machine 使您能够在各种版本的 Linux 上提供多个远程 Docker 主机。

举个栗子

我们都使用过虚拟机 VM VirtualBOX 当然,我们在使用VM 的时候,就是在本机上建立了许多个虚拟机,可以运行好几个Centos,使用VM 来管理这些虚拟机的开机/关机/重启 等操作。

所以,现在的 Machine 就充当了这个虚拟机管理的身份。可以用它来创建多个虚拟主机,并安装 Docker Engine

我们可以使用这个 Machine 来管理这些虚拟机上面的 Docker Engine.

Docker Engine 与 Docker Machine 区别 Docker Engine

通常,我们说 Docker 的时候指的是 Docker Engine

如下面这张图一样,Docker Engine 是运行在 Linux 上的应用

包含服务守护进程 daemon server

与守护进程交互的 RestAPI

我们平时输入 docker run的命令行 CLI

Docker Machine

Docker Machine 是一个用于配置和管理 Dockerized 主机(上面有 Docker Engine 的主机)的工具。

开始安装 首先安装Docker Engine

https://www.cnblogs.com/ChromeT/p/12272326.html

Linux ## 从github 拉取最新版本 (下载特慢,推荐迅雷复制下载地址后,上传服务器) curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine ## 迅雷下载地址 (Linux/X86_64)搞清楚自己的服务器架构 https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-Linux-x86_64 ## 赋予读取权限 chmod +x /usr/local/bin/docker-machine ## 检查安装信息 docker-machine version 使用Docker Machine 创建虚拟主机

docker-machine create --driver xxx name 创建虚拟主机

[root@mrclinux ~]# docker-machine create --driver virtualbox default Running pre-create checks... Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"

注意!!!!

因为现在我用的服务器是阿里云ECS 共享型,所以这已经是一个虚拟机,VM是不支持虚拟机嵌套虚拟机的。所以,直接到后面看,通过配置阿里云驱动后使用docker-machine 创建和购买实例。

安装VM 也无济于事!!!!

[root@mrclinux ~]# docker-machine create --driver virtualbox default Running pre-create checks... Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory" aliyun 驱动

通过配置aliyun 的驱动,可以方便的创建阿里云实例,而不是创建虚拟机,其实要是在阿里云服务器创建虚拟机也不现实,毕竟内存就那么大,而且,还没有对应的IP分配给虚拟机。

GITHUB https://github.com/AliyunContainerService/docker-machine-driver-aliyunecs

## 下载驱动 curl -O https://docker-machine-aliyunecs-drivers.oss-cn-beijing.aliyuncs.com/docker-machine-driver-aliyunecs_linux-amd64.tgz ## 解压 tar -zxvf docker-machine-driver-aliyunecs_linux-amd64.tgz ## 复制到可执行目录下 cp bin/docker-machine-driver-aliyunecs.linux-amd64 /usr/local/bin/docker-machine-driver-aliyunecs 配置环境变量 ## 打开环境变量文件 vi ~/.bashrc ## 加入以下内容(需要改变的地方我会说) export ECS_ACCESS_KEY_ID='填你自己key id' export ECS_ACCESS_KEY_SECRET='填你自己的key secret' # 购买的镜像是1核0.5G内存的最小型实例 export ECS_INSTANCE_TYPE='ecs.t5-lc2m1.nano' # 来个50M宽带 export ECS_INTERNET_MAX_BANDWIDTH='50' # 购买的区域是石家庄 export ECS_REGION='cn-zhangjiakou' # 设置的密码,一定要8~30位,有大小写字母,数字和乱七八糟的标点,不然会自动创建失败 export ECS_SSH_PASSWORD='7b6424B61c6C21~0%39F1C56' # 磁盘只要20G export ECS_SYSTEM_DISK_SIZE='20' # 磁盘用便宜的高效云盘吧,任性选SSD也行 export ECS_SYSTEM_DISK_CATEGORY='cloud_efficiency' # 选择的镜像是Ubuntu16.04 export ECS_IMAGE_ID='ubuntu_16_0402_64_20G_alibase_20180409.vhd' # 专用网络的节点 export ECS_VPC_ID='vpc-8vbhii32tpugfcqbryqcn' # 虚拟交换机的节点 export ECS_VSWITCH_ID='vsw-8vbweep4xrtamazp50775' # ECS的标签 export ECS_TAGS='chen_docker' # 安全组 export ECS_SECURITY_GROUP='sg-8vb5wwel08nyrih2lmtb' # 石家庄a区 export ECS_ZONE='cn-zhangjiakou-a' # 一定要是true export ECS_IO_OPTIMIZED='true' # Using mirrors from Aliyun export MACHINE_DOCKER_INSTALL_URL=http://kubernetes.oss-cn-hangzhou.aliyuncs.com/docker_install.sh export ENGINE_REGISTRY_MIRROR=https://registry.docker-cn.com

参考: https://blog.csdn.net/diyiday/article/details/93899190

配置说明

ECS_IMAGE_ID 镜像ID怎么选?

找到控制台,镜像列表,复制你想要的镜像即可。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjzxf.html