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

原文作者:Markus Eisele 原文地址:https://dzone.com/articles/docker-machine-windows-how

最近我一直在折腾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 条评论
登录 后参与评论

相关文章

来自专栏一场梦

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

1875
来自专栏腾讯云容器服务团队的专栏

K8s Network Policy Controller之Kube-router功能介绍

Network Policy是k8s提供的一种资源,用于定义基于pod的网络隔离策略。它描述了一组pod是否可以与其它组pod,以及其它network endp...

4891
来自专栏漫漫全栈路

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

最近我一直在折腾Docker。原因有很多,可以肯定的是,我喜欢折腾最新的技术,而且最好能帮忙实现一到两个示例的demo出来。和我的其他同事们不一样的是,我在Wi...

23111
来自专栏LuckQI

容器Docker学习系列七~系统信息学习

前面了解的Docker学习的本地镜像管理还有镜像仓库的命令学习,怎么说呢其实这些命令已经够我们平常使用的了。但是如果随着发展我们在系统程序调优上可能就需要了解更...

1241
来自专栏散尽浮华

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

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

1.4K6

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

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

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

从一张图看Devops全流程

一、持续交付工具链全图 ? 上图源自网络。上图很清晰地列出了CD几个阶段使用的工具。 CD的工具链很长,但并不是每个模块所有工具都那么流行;换言之,我们在每个模...

1.3K9
来自专栏技术翻译

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

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

2682

了解微服务,第6部分:健康检查

随着我们的微服务和它们运营的环境变得越来越复杂,让我们的服务为Docker Swarm提供一种安全检查机制也变得日益重要。因此,我们将在博客系列的第六部分中介绍...

6243
来自专栏Java技术分享

如何解决ajax跨域问题

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

2078

扫码关注云+社区