文章目录
Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。
使用 docker-machine 命令,你能够启动,检测,停止和重启被管理的主机,升级Docker客户端和进程,也可以配置Docker客户端与主机通信。将Machine CLI指向正在运行的托管主机,我们可以直接在该主机上运行docker命令。 例如,运行docker-machine env default指向名为default的主机,按照屏幕上的说明完成env设置,然后运行docker ps,docker run hello-world等等。
Why Docker Machine?
Docker Machine 使您可以在各种linux上配置远程Docker主机。此外,Machine 运行您在较旧的Mac或Windows系统上运行Docker。
Docker Machine有两个广泛的使用场景:
- 我有一个较旧的桌面系统,并希望在Mac或Windows上运行Docker:
- 我想在远程系统上配置Docker主机
Docker Engine在Linux系统上本机运行。 如果你有一个Linux机器作为主系统,并且想要运行docker命令,那么你需要做的就是下载并安装Docker Engine。 但是,如果您想要一种有效的方法来在网络,云端甚至本地配置多个Docker主机,那么您需要Docker Machine。
无论你的主系统是Mac,Windows还是Linux,您都可以在其上安装Docker Machine并使用docker-machine命令来配置和管理大量Docker主机。 它会自动创建主机,在其上安装Docker Engine,然后配置docker客户端。 每个托管主机(“机器”)都是Docker主机和已配置客户端的组合。
Docker Enine和Docker Machine的区别是什么?
当人们说“Docker”时,他们通常指的是Docker Engine,由Docker守护程序组成的客户端 – 服务器应用程序,指定用于与守护进程交互的接口的REST API,以及与守护进程通信的命令行界面(CLI)客户端 (通过REST API包装器)。 Docker Engine接受来自CLI的docker命令,例如docker run ,docker ps列出正在运行的容器,docker image ls列出图像,等等。
而Docker Machine是一个用于配置和管理Dockerized主机(带有Docker Engine的主机)的工具。 通常,您在本地系统上安装Docker Machine。 Docker Machine有自己的命令行客户端docker-machine和Docker Engine客户端docker。 您可以使用Machine在一个或多个虚拟系统上安装Docker Engine。 这些虚拟系统可以是本地的(如使用Machine在Mac或Windows上的VirtualBox中安装和运行Docker Engine时)或远程(如使用Machine在云提供商上配置Dockerized主机时)。 可以想到Dockerized主机本身,有时也称为托管“机器”。
Docker Machine安装
Docker Machine 可以在多种操作系统平台上安装,包括 Linux、macOS,以及 Windows。
Mac && Windows
curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
Docker Machine使用
Docker Machine 支持多种后端驱动,包括虚拟机、本地主机和云平台等。
这里因为没有安装virtualbox,我们需要提前安装一下virtualbox。
通过vim命令添加并编辑.repo文件 vim /etc/yum.repos.d/virtualbox.repo 插入内容如下:
[virtualbox]
name=Oracle Linux / RHEL / CentOS-releasever /basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
通过yum search VirtualBox 命令查找具体安装版本,下图我们可以看到,列出了VirtualBox 的多个版本、这里我们安装VirtualBox 6.1:
安装完成之后通过/sbin/vboxconfig 重新加载virtualbox服务,如果提示内核版本不一致,会出现下面的报错,需要安装相同的内核版本,我们可以去https://pkgs.org/download/kernel-devel网站下载对应的内核版本、通过rpm -ivh 命令进行安装,并通过yum install gcc make perl -y命令安装相应插件:
安装完成之后我们通过rpm -qa kernel\*命令查看内核版本、确定所需内核版本已经安装成功。然后我们再次通过/sbin/vboxconfig命令启动VirtualBox,可以看到VirtualBox已经成功启动:
我们继续通过
我们再次通过
创建好主机之后,查看主机
[root@localhost ~]# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
test – virtualbox Running tcp://192.168.99.100:2376 v19.03.5
后续根据提示在命令行输入命令之后就可以操作 test 主机; 连接到主机之后你就可以在其上使用 Docker 了。
Docker Machine驱动
官方驱动
第三方驱动
Docker Machine操作命令