Windows下的Docker Machine - 如何设置你的Docker主机

最近我一直在折腾Docker。原因有很多,可以肯定的是,我喜欢折腾最新的技术,而且最好能帮忙实现一到两个示例的demo出来。和我的其他同事们不一样的是,我在Windows上运行我的设,如同大多数中间件开发人员一样。所以,如果你按照Arun的博客关于“ Docker Machine to Setup Docker Host ”,你可能已经试图在Windows上进行尝试了(译者注:Dcoker Machine是Docker的官方项目,负责在多平台上快速安装Docker环境,此处博客内容若无法显示,可以在云+社区查看其他的docker相关教程)。这里给出使用Docker Machine管理和启动Docker主机的终极简便指南。

Docker Machine

通过Machine,您可以在您的计算机,云提供商以及您自己的数据中心内部创建Docker主机。它能创建服务器,在其上安装`Docker,并配置Docker客户端与之通信。在此之前,基本上不必在机器上安装任何东西。这比 以前手动安装boot2docker要容易得多 。所以,来尝试一下吧。

在开始使用Docker或Machine之前,还有一件事情必须要完成。那就是去获取 Windows的Git (又名msysgit)。其中包含有各种有用的unix工具,无论如何你都需要它。

先决条件 - 打包安装方案

第一个是安装Windows Boot2docker分布 ,可以参考 我在早些时候的博客。它包含以下软件的配置,已经准备好为你服务:

  • VirtualBox
  • Docker Windows客户端

先决条件 - 分拆单独安装

出于由于各种原因,我不太喜欢boot2docker安装程序。主要是因为我想知道它实际在我的设备上实际上完成了什么操作。于是我尝试了一下,如果你决定不使用打包安装方案,那么这里就是分拆单独安装的方法。从虚拟化解决方案开始。我们在Windows上必需要安装类似的东西,因为它不能运行Linux,而这就是Docker的基础。至少现在如此。所以,获取 VirtualBox, 并确保您的系统上正确安装了版本4.3.18VirtualBox-4.3.18-96516-Win.exe,105 MB)。警告:在Virtualbox中运行Windows本身时会出现一个奇怪的问题。您可能会 遇到一个启动主机的问题

完成上述步骤后,就要获取DockerWindows客户端。可以从测试服务器中直接下载(docker-1.6.0.exe,x86_64,7.5MB)。重命名为“docker”,并将其放到您选择的文件夹中(这里推荐使用c:\ docker \。接下来还需要下载Docker Machine,这是另一个单独的可执行文件(docker-machine_windows-amd64.exe,11.5 MB),重命名为“docker-machine”并放到同一个文件夹中,然后把这个文件夹添加到PATH中:

set PATH =%PATH%; C:\ docker

推荐你添加PATH环境变量,这样可以减少大量的输入。那么,你已经准备好创建第一台机器管理的Docker主机。

使用Machine创建Docker主机

一切只需要一个简单的命令:

docker-machine create --driver virtualbox dev

输出结果应该是:

←[34mINFO←[0m[0000] Creating SSH key...
←[34mINFO←[0m[0001] Creating VirtualBox VM...
←[34mINFO←[0m[0016] Starting VirtualBox VM...
←[34mINFO←[0m[0022] Waiting for VM to start...
←[34mINFO←[0m[0076] "dev" has been created and is now the active machine.
←[34mINFO←[0m[0076] To point your Docker client at it, run this in your shell: eval "$(docker-machine.exe env dev)"

这意味着,您刚刚使用VirtualBox提供程序和名称“dev”创建了一个Docker主机。现在你需要找出主机正在运行在哪个IP地址。

docker-machine ip
192.168.99.102

如果你刚才配置了环境变量,客户端所需要的就更简单,只需使用下面的命令:

docker-machine env dev
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH="C:\\Users\\markus\\.docker\\machine\\machines\\dev"
export DOCKER_HOST=tcp://192.168.99.102:2376

这里输出了Linux样式的环境变量定义。你需要做的仅仅是把“export”关键字改成“set”,删除“和双反斜线,就万事俱备了。

C:\Users\markus\Downloads>set DOCKER_TLS_VERIFY=1
C:\Users\markus\Downloads>set DOCKER_CERT_PATH=C:\Users\markus\.docker\machine\machines\dev
C:\Users\markus\Downloads>set DOCKER_HOST=tcp://192.168.99.102:2376

来测试下Docker客户端

现在我们开始在新创建的主机上运行WildFly

docker run -it -p 8080:8080 jboss/wildfly

观察下载的容器,并通过将浏览器重定向到http://前文提示ip:8080/来检查它是否正在运行 。

祝贺您成功在Windows上使用Maschine安装了第一台Docker主机。

本文的版权归 李郑 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

教程 | 如何使用 Kubernetes 轻松部署深度学习模型

本文展示了如何用 Keras 构建深度学习模型的简单示例,将其作为一个用 Flask 实现的 REST API,并使用 Docker 和 Kubernetes ...

1681
来自专栏散尽浮华

Docker集群管理工具-Kubernetes部署记录

之前介绍了Mesos+Marathon+Zookeeper管理Docker集群平台的部署 ,本篇则说下利用Kubernetes管理Docker集群环境的部署。 ...

1.3K6
来自专栏Java技术分享

如何解决ajax跨域问题

由 于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决 ajax的...

1958

Windows 平台 Docker Machine 使用 - 如何设置你的主机

最近我一直在玩Docker。其中有许多原因,可以肯定的一点是:我喜欢玩最新的技术,甚至帮助构建一两个演示版或一个实验环境。我在Windows上运行我的设置,这是...

26610
来自专栏散尽浮华

记录一次redis cluster集群故障-运维笔记

公司的一个系统业务出现故障,提示查询redis失败。查询相关日志,分析过程记录如下:

1575
来自专栏iOSDevLog

Docker Cheat Sheet

“使用Docker,开发人员可以使用任何工具链以任何语言构建任何应用程序。”Dockerized“应用程序完全可移植,可以在任何地方运行 - 同事的OS X和W...

1202
来自专栏Jerry的SAP技术分享

Kubernetes Helm入门指南

什么是Helm?这可不是暗黑破坏神里装备的名称:头盔,而是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。我们Helm和Ku...

1120
来自专栏技术翻译

Kubernetes揭秘:解决服务依赖问题

本系列文章探讨了企业客户在使用Kubernetes时遇到的一些常见问题。Container Service客户经常提出的一个问题是,“我如何处理服务之间的依赖关...

2112
来自专栏大魏分享(微信公众号:david-share)

隆重介绍!CI/CD手下的开源界六大金刚

Jenkins 2 image based on Red Hat Enterprise Linux的镜像

2463
来自专栏一场梦

腾讯发布新版QQv8.9.6 可撤回他人消息

1795

扫码关注云+社区