在 VirtualBox 中使用 Docker Machine 管理主机

大家好,今天我们学习在 VirtualBox 中使用 Docker Machine 来创建和管理 Docker 主机。Docker Machine 是一个可以帮助我们在电脑上、在云端、在数据中心内创建 Docker 主机的应用。它为根据用户的配置和需求创建服务器并在其上安装 Docker和客户端提供了一个轻松的解决方案。这个 API 可以用于在本地主机、或数据中心的虚拟机、或云端的实例提供 Docker 服务。Docker Machine 支持 Windows、OSX 和 Linux,并且是以一个独立的二进制文件包形式安装的。仍然使用(与现有 Docker 工具)相同的接口,我们就可以充分利用已经提供 Docker 基础框架的生态系统。只要一个命令,用户就能快速部署 Docker 容器。

本文列出一些简单的步骤用 Docker Machine 来部署 docker 容器。

1. 安装 Docker Machine

Docker Machine 完美支持所有 Linux 操作系统。首先我们需要从 github 下载最新版本的 Docker Machine,本文使用 curl 作为下载工具,Docker Machine 版本为 0.2.0。

64 位操作系统


  1. # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine

32 位操作系统


  1. # curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-i386 > /usr/local/bin/docker-machine

下载完成后,找到 /usr/local/bin 目录下的 docker-machine 文件,让其可以执行:


  1. # chmod +x /usr/local/bin/docker-machine

确认是否成功安装了 docker-machine,可以运行下面的命令,它会打印 Docker Machine 的版本信息:


  1. # docker-machine -v

安装 Docker Machine

运行下面的命令,安装 Docker 客户端,以便于在我们自己的电脑止运行 Docker 命令:


  1. # curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker
  2. # chmod +x /usr/local/bin/docker

2. 创建 VirtualBox 虚拟机

在 Linux 系统上安装完 Docker Machine 后,接下来我们可以安装 VirtualBox 虚拟机,运行下面的就可以了。--driver virtualbox 选项表示我们要在 VirtualBox 的虚拟机里面部署 docker,最后的参数“linux” 是虚拟机的名称。这个命令会下载 boot2docker iso,它是个基于 Tiny Core Linux 的轻量级发行版,自带 Docker 程序,然后 docker-machine 命令会创建一个 VirtualBox 虚拟机(LCTT译注:当然,我们也可以选择其他的虚拟机软件)来运行这个 boot2docker 系统。


  1. # docker-machine create --driver virtualbox linux

创建 Docker Machine

测试下有没有成功运行 VirtualBox 和 Docker,运行命令:


  1. # docker-machine ls

Docker Machine List

如果执行成功,我们可以看到在 ACTIVE 那列下面会出现一个星号“*”。

3. 设置环境变量

现在我们需要让 docker 与 docker-machine 通信,运行 docker-machine env <虚拟机名称> 来实现这个目的。


  1. # eval "$(docker-machine env linux)"
  2. # docker ps

这个命令会设置 TLS 认证的环境变量,每次重启机器或者重新打开一个会话都需要执行一下这个命令,我们可以看到它的输出内容:


  1. # docker-machine env linux
  2. export DOCKER_TLS_VERIFY=1
  3. export DOCKER_CERT_PATH=/Users/<your username>/.docker/machine/machines/dev
  4. export DOCKER_HOST=tcp://192.168.99.100:2376

4. 运行 Docker 容器

完成配置后我们就可以在 VirtualBox 上运行 docker 容器了。测试一下,我们可以运行虚拟机 docker run busybox ,并在里面里执行 echo hello world 命令,我们可以看到容器的输出信息。


  1. # docker run busybox echo hello world

运行 Docker 容器

5. 拿到 Docker 主机的 IP

我们可以执行下面的命令获取运行 Docker 的主机的 IP 地址。我们可以看到在 Docker 主机的 IP 地址上的任何暴露出来的端口。


  1. # docker-machine ip

Docker IP 地址

6. 管理主机

现在我们可以随心所欲地使用上述的 docker-machine 命令来不断创建主机了。

当你使用完 docker 时,可以运行 docker-machine stop 来停止所有主机,如果想开启所有主机,运行docker-machine start。


  1. # docker-machine stop
  2. # docker-machine start

你也可以只停止或开启一台主机:


  1. $ docker-machine stop linux
  2. $ docker-machine start linux

总结

最后,我们使用 Docker Machine 成功在 VirtualBox 上创建并管理一台 Docker 主机。Docker Machine 确实能让用户快速地在不同的平台上部署 Docker 主机,就像我们这里部署在 VirtualBox 上一样。这个 virtualbox 驱动可以在本地机器上使用,也可以在数据中心的虚拟机上使用。Docker Machine 驱动除了支持本地的 VirtualBox 之外,还支持远端的 Digital Ocean、AWS、Azure、VMware 以及其它基础设施。

如果你有任何疑问,或者建议,请在评论栏中写出来,我们会不断改进我们的内容。谢谢,祝愉快。

本文来自合作伙伴“Linux中国”,原文发布日期:2015-08-30

时间: 2024-10-04 17:46:23

在 VirtualBox 中使用 Docker Machine 管理主机的相关文章

【实战】Docker Machine + Compose + Swarm

本文讲的是[实战]Docker Machine + Compose + Swarm,[编者的话]本文的案例结合了Docker的三大编排工具Docker Machine.Compose与Swarm,值得读者们参阅. Docker现在已经推出了一些新的命令行工具,这些工具可以简单的编排(orchestration )Docker实例.集群以及容器管理.它们是: Docker Machine - 让你轻松部署Docker实例到很多不同的平台. Docker Compose - Fig工具的替代品. D

IFTTT在开发环境中使用Docker的经验

本文讲的是IFTTT在开发环境中使用Docker的经验,[编者的话]IFTTT是"if this then that"的缩写,事实上是让你的网络行为能够引发连锁反应.让你使用更为方便,其宗旨是"Put the internet to work for you"(让互联网为你服务).Docker在IFTTT中也在开发实践,以下是Nicholas Silva的一些介绍. IFTTT是一款新兴的互联网工具型应用,正如他们给自己的介绍"If This Then T

如何使用Docker Machine创建Swarm集群

本文讲的是如何使用Docker Machine创建Swarm集群,[编者的话]之前,Docker的安装流程非常复杂,用户需要登录到相应的主机上,根据官方的安装和配置指南来安装Docker,并且不同的操作系统的安装步骤也是不一样的.而有了Machine后,不管是在笔记本.虚拟机还是公有云实例上,用户仅仅需要一个命令就轻松搞定安装.当然那你需要先安装Docker Machine.Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker

如何在云服务提供商的平台上使用Docker Machine

大家好,今天我们来了解如何使用Docker Machine在各种云服务提供商的平台上部署Docker.Docker Machine是一个可以帮助我们在自己的电脑.云服务提供商的平台以及我们数据中心的机器上创建Docker机器的应用程序.它为创建服务器.在服务器中安装Docker.根据用户需求配置Docker客户端提供了简单的解决方案.驱动API对本地机器.数据中心的虚拟机或者公用云机器都适用.Docker Machine支持Windows.OSX和Linux,并且提供一个独立的二进制文件,可以直

如何使用Docker Machine部署Swarm集群

大家好,今天我们来研究一下如何使用Docker Machine部署Swarm集群.Docker Machine提供了标准的Docker API 支持,所以任何可以与Docker守护进程进行交互的工具都可以使用Swarm来(透明地)扩增到多台主机上.Docker Machine可以用来在个人电脑.云端以及的数据中心里创建Docker主机.它为创建服务器,安装Docker以及根据用户设定来配置Docker客户端提供了便捷化的解决方案.我们可以使用任何驱动来部署swarm集群,并且swarm集群将由于

如何在 Windows 操作系统中运行 Docker 客户端

大家好,今天我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识.Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核.这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建.运行以及管理 Docker 容器.有个叫 Boot2Docker 的团队开发

《第一本Docker书(修订版)》——2.5 在Windows中安装Docker Toolbox

2.5 在Windows中安装Docker Toolbox 如果使用的是Microsoft Windows系统,也可以使用Docker Toolbox工具快速上手Docker.Docker Toolbox是一个Docker组件的集合,还包括一个极小的虚拟机,在Windows宿主机上安装了一个支持命令行工具,并提供了一个Docker环境. Docker Toolbox自带了很多组件,包括: VirtualBox:Docker客户端:Docker Compose(参见第7章):Kitematic--

《第一本Docker书(修订版)》——2.4 在OS X中安装Docker Toolbox

2.4 在OS X中安装Docker Toolbox 如果使用的是OS X系统,则可以使用Docker Toolbox[23]快速上手Docker.Docker Toolbox是一个Docker组件的集合,还包括一个极小的虚拟机,在OS X宿主机上会安装与之对应的命令行工具,并提供了一个Docker环境. Docker Toolbox自带了很多组件,包括: VirtualBox:Docker客户端:Docker Compose(参见第7章):Kitematic--一个 Docker和Docker

安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)

前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host. 对于这样一个 multi-host 环境,我们将如何高效地进行管理呢?我们面临的第一个问题是:为所有的 host 安装和配置 docker. 在前面我们手工安装了第一个 docker host,步骤包括: 安装 https CA 证书 添加 GPG ke