docker三剑客之docker-machine

前言

你可以用docker machine来做什么?
1,在mac和windows平台上安装和运行docker
2,提供和管理多个远程docker主机
3,提供swarm集群管理

官网详细介绍:https://docs.docker.com/machine/overview/

安装

安装很简单,直接从官方下载编译好的二进制文件即可。

下载地址:https://github.com/docker/machine/releases
安装文档:https://docs.docker.com/machine/install-machine

Linux

mac

mac客户端已经包含了machine,其实无需单独安装。

查看machine安装版本,可以正常输出版本信息即可。

 

使用

1,创建主机节点,下面我们讲3个渠道的,其他的类似,选择对应驱动即可

a,centos,选择virtualbox类型的驱动,创建一台Docker主机test

b,阿里云-centos,创建的过程发生了不可抗拒的错误“doesn’t have VT-X/AMD-v enabled”无法创建,所以我需要阿里云自己提供的驱动ECS Driver。
驱动下载和安装网页地址:https://develop.aliyun.com/command/docker

安装过程

使用阿里云驱动aliyunecs,创建一台Docker主机testali,注意–aliyunecs-access-key-id–aliyunecs-access-key-secret是必填参数,可以直接在aliyunecs后追加,也可以设置到环境变量当中

export ECS_ACCESS_KEY_ID='<Your access key ID>’
export ECS_ACCESS_KEY_SECRET='<Your secret access key>’

创建主机:

命令参数参考:
docker-machine create -d aliyunecs –help https://github.com/AliyunContainerService/docker-machine-driver-aliyunecs

 

c,mac,使用xhyve驱动,初次使用得先安装

如果mac上没有装brew工具,可以通过下面的命令进行安装

常用参数(更多命令查看:“docker-machine create -d xhyve -help”):

配置docker主机镜像文件地址:
–xhyve-boot2docker-url ~/.docker/machine/cache/boot2docker.iso
配置Docker的仓库镜像:
–engine-registry-mirror https://registry.docker-cn.com
配置主机内存:
–virtualbox-memory 2048
配置主机CPU:
–virtualbox-cpu-count 2

创建主机:

 

2,验证主机创建情况

输出如下即可:
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
test – xhyve Running tcp://192.168.64.2:2376 v18.06.1-ce

3,尝试登录ssh连接到docker-machine主机,使用命令:

输出如下即可:

4,尝试在主机上运行命令

a,如查看docker版本

docker@test:~$ docker -v
Docker version 18.06.1-ce, build e68fc7a

b,运行hello-world镜像

docker@test:~$ docker run hello-world
Hello from Docker!

c,好了,那我们尝试安装其他容器,安装portainer容器

 

d,先exit退出主机,然后查看IP,并在主机浏览器上访问启动的portainer容器:

ln:home ln$ docker-machine ip test
192.168.64.3

浏览器访问:http://192.168.64.3:9000 ,能正常访问即可!

 

报错处理

做什么事情不遇到些错误是不可能的,这次是踩了不少坑,记录下来,方便下次审阅。

错误1:

我是在阿里云ECS上使用的时候提示的错误:
VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
解决办法:配置安装源,安装VirtualBox

内容如下:

使用命令查看VirtualBox版本,选择指定版本进行安装

输出:
=========================== N/S matched: VirtualBox ============================
VirtualBox-4.3.x86_64 : Oracle VM VirtualBox
VirtualBox-5.0.x86_64 : Oracle VM VirtualBox
VirtualBox-5.1.x86_64 : Oracle VM VirtualBox
VirtualBox-5.2.x86_64 : Oracle VM VirtualBox

安装命令:

 

错误2:

在执行命令“sudo /sbin/vboxconfig”时,提示如下:
This system is currently not set up to build kernel modules.
Please install the Linux kernel “header” files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
kernel-devel kernel-devel-3.10.0-693.2.2.el7.x86_64
This system is currently not set up to build kernel modules.
Please install the Linux kernel “header” files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
kernel-devel kernel-devel-3.10.0-693.2.2.el7.x86_64

解决方法:

重启服务器:init 6

错误3:

在执行命令“docker-machine create -d virtualbox test”时,提示错误:
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”

解决方法:阿里云ECS不支持,无法开启,可以更换为阿里云提供的驱动aliyunecs

错误4:

在执行命令“docker-machine create -d aliyunecs testali”时,提示错误
Driver “aliyunecs” not found. Do you have the plugin binary “docker-machine-driver-aliyunecs” accessible in your PATH?
原因:如提示,需要找的文件名为”docker-machine-driver-aliyunecs

解决方法:
在拷贝到/usr/local/bin目前之前,先修改文件名称,去掉.linux-amd64,如下:
docker-machine-driver-aliyunecs.linux-amd64 >> docker-machine-driver-aliyunecs

错误5:

执行创建提示:

Error setting machine configuration from flags provided: testali | aliyunecs driver requires the –aliyunecs-access-key-id option

解决方法:

–aliyunecs-access-key-id–aliyunecs-access-key-secret是必填参数,可以直接在aliyunecs后追加,也可以设置到环境变量当中


guolin

guolin

相信世界,向往美好,记录成长过程,分享个人心得,充实平凡生活。 网站信条:因为喜欢,所以热爱。

发表评论

电子邮件地址不会被公开。 必填项已用*标注