阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

140次阅读
没有评论

共计 4328 个字符,预计需要花费 11 分钟才能阅读完成。

大家好,今天我们来了解如何使用 Docker Machine 在各种云服务提供商的平台上部署 Docker。Docker Machine 是一个可以帮助我们在自己的电脑、云服务提供商的平台以及我们数据中心的机器上创建 Docker 机器的应用程序。它为创建服务器、在服务器中安装 Docker、根据用户需求配置 Docker 客户端提供了简单的解决方案。驱动 API 对本地机器、数据中心的虚拟机或者公用云机器都适用。Docker Machine 支持 Windows、OSX 和 Linux,并且提供一个独立的二进制文件,可以直接使用。它让我们可以充分利用支持 Docker 的基础设施的生态环境合作伙伴,并且使用相同的接口进行访问。它让人们可以使用一个命令来简单而迅速地在不同的云平台部署 Docker 容器。

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

 

1. 安装 Docker Machine

Docker Machine 可以很好地支持每一种 Linux 发行版。首先,我们需要从 Github 网站下载最新版本的。这里我们使用 curl 来下载目前最新 0.2.0 版本的 Docker Machine。

在 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

下载最新版本的 Docker Machine 并将 docker-machine 文件放到了 /usr/local/bin/ 后,添加执行权限:

  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. 创建机器

在自己的 Linux 机器上安装好了 Docker Machine 之后,我们想要将一个 docker 虚拟机部署到云服务器上。Docker Machine 支持几个流行的云平台,如 igital Ocean、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Computing 及其它等等,所以我们可以在不同的平台使用相同的接口来部署 Docker。本文中我们会使用 digitalocean 驱动在 Digital Ocean 的服务器上部署 Docker,–driver 选项指定 digitalocean 驱动,–digitalocean-access-token 选项指定 Digital Ocean Control Panel 提供的 API Token,命令最后的是我们创建的 Docker 虚拟机的机器名。运行如下命令:

  1. # docker-machine create --driver digitalocean --digitalocean-access-token <API-Token> linux-dev
  2. # eval "$(docker-machine env linux-dev)"

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

注意 :这里 linux-dev 是我们将要创建的机器的名称。<API-Token> 是一个安全 key,可以在 Digtal Ocean Control Panel 生成。要找到这个 key,我们只需要登录到我们的 Digital Ocean Control Panel,然后点击 API,再点击 Generate New Token,填写一个名称,选上 Read 和 Write。然后我们就会得到一串十六进制的 key,那就是<API-Token>,简单地替换到上边的命令中即可。

运行如上命令后,我们可以在 Digital Ocean Droplet Panel 中看到一个具有默认配置的 droplet 已经被创建出来了。

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

简便起见,docker-machine 会使用默认配置来部署 Droplet。我们可以通过增加选项来定制我们的 Droplet。这里是一些 digitalocean 相关的选项,我们可以使用它们来覆盖 Docker Machine 所使用的默认配置。

  • –digitalocean-image “Ubuntu-14-04-x64” 用于选择 Droplet 的镜像
  • –digitalocean-ipv6 enable 启用 IPv6 网络支持
  • –digitalocean-private-networking enable 启用专用网络
  • –digitalocean-region “nyc3” 选择部署 Droplet 的区域
  • –digitalocean-size “512mb” 选择内存大小和部署的类型

如果你想在其他云服务使用 docker-machine,并且想覆盖默认的配置,可以运行如下命令来获取 Docker Mackine 默认支持的对每种平台适用的参数。

  1. # docker-machine create -h

 

3. 选择活跃主机

部署 Droplet 后,我们想马上运行一个 Docker 容器,但在那之前,我们需要检查下活跃主机是否是我们需要的机器。可以运行如下命令查看。

  1. # docker-machine ls

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

ACTIVE 一列有“*”标记的是活跃主机。

现在,如果我们想将活跃主机切换到需要的主机,运行如下命令:

  1. # docker-machine active linux-dev

注意:这里,linux-dev 是机器名,我们打算激活这个机器,并且在其上运行 Docker 容器。

 

4. 运行一个 Docker 容器

现在,我们已经选择了活跃主机,就可以运行 Docker 容器了。可以测试一下,运行一个 busybox 容器来执行 echo hello word 命令,这样就可以得到输出:

  1. # docker run busybox echo hello world

注意:如果你试图在一个装有 32 位操作系统的宿主机部署 Docker 容器,使用 SSH 来运行 docker 是个好办法。这样你就可以简单跳过这一步,直接进入下一步。

 

5. SSH 到 Docker 机器中

如果我们想在机器或者 Droplet 上控制之前部署的 Docker 机器,可以使用 docker-machine ssh 命令来 SSH 到机器上:

  1. # docker-machine ssh

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

SSH 到机器上之后,我们可以在上边运行任何 Docker 容器。这里我们运行一个 nginx:

  1. # docker run -itd -p 80:80 nginx

操作完毕后,我们需要运行 exit 命令来退出 Droplet 或者服务器。

  1. # exit

 

5. 删除主机

删除在运行的主机以及它的所有镜像和容器,我们可以使用 docker-machine rm 命令:

  1. # docker-machine rm linux-dev

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

使用 docker-machine ls 命令检查是否成功删除了:

  1. # docker-machine ls

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

 

6. 在不使用驱动的情况新增一个主机

我们可以在不使用驱动的情况往 Docker 增加一台主机,只需要一个 URL。它可以使用一个已有机器的别名,所以我们就不需要每次在运行 docker 命令时输入完整的 URL 了。

  1. $ docker-machine create --url=tcp://104.131.50.36:2376 custombox

 

7. 管理主机

如果你已经让 Docker 运行起来了,可以使用简单的 docker-machine stop 命令来停止所有正在运行的主机,如果需要再启动的话可以运行docker-machine start

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

你也可以使用如下命令来使用机器名作为参数来将其停止或启动:

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

 

总结

Docker Machine 是一个非常棒的工具,可以使用 Docker 容器快速地部署服务。文中我们使用 Digital Ocean Platform 作演示,但 Docker Machine 还支持其他平台,如 Amazon Web Service、Google Cloud Computing。使用 Docker Machine,快速、安全地在几种不同平台部署 Docker 容器变得很简单了。因为 Docker Machine 还是 Beta 版本,不建议在生产环境使用。如果你有任何问题、建议、反馈,请在下方的评论框中写下来,我们会改进或者更新我们的内容。谢谢!享受吧 :-)

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm 

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 14.04���装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm 

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm 

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里


via: http://linoxide.com/linux-how-to/use-docker-machine-cloud-provider/

作者:Arun Pyasi 译者:goreliu 校对:wxy

本文由 LCTT 原创翻译,Linux 中国 荣誉推出

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-06/119200.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计4328字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中