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

最近我一直在玩Docker。其中有许多原因,可以肯定的一点是:我喜欢玩最新的技术,甚至帮助构建一两个演示版或一个实验环境。我在Windows上运行我的设置,这是我与其他同事们的主要区别。像大多数中间件开发人员一样。所以,如果你按照Arun那篇关于“ Docker Machine to Setup Docker Host ”的博客,你可能已经试图在Windows上完成这个工作。以下是使用Docker Machine管理和启动Docker主机的最终简短指导。

Docker Machine

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

在开始使用Docker或Docker Machine之前,至少需要完成一件事情。前往获取 Windows的Git (又名msysgit)。他内部有各种有用的unix工具,无论如何你都需要它。

先决条件 - 一体化解决方案

第一个是安装Windows Boot2docker 版本-我在早些时候的博客中展示过。它包含以下配置的位可供您使用:

  • VirtualBox
  • Docker Windows客户端

先决条件 - 位和片段

由于各种原因,我不喜欢boot2docker安装程序。主要原因是我想知道在我的机器上究竟发生了什么。所以我玩了一下,如果你决定不采用一体化解决方案,那么这里就是零件安装程序。从虚拟化解决方案开始。我们在Windows上需要类似的东西,因为它不能运行Linux,但Docker就是基于Linux的。最起码现在是这样。所以,安装 VirtualBox, 并确保您的系统上正确安装了4.3.18版本(VirtualBox-4.3.18-96516-Win.exe,105 MB)。警告:在Virtualbox中运行Windows本身时会出现一个奇怪的问题。您可能会遇到 启动主机的问题

当你在VirtualBox的虚拟环境中时,安装Docker Windows客户端。另一个是从测试服务器中直接下载(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中:

设置PATH =%PATH%; C:\ docker

如果你改变你的标准PATH环境变量,这可能使你免于大量的输入。就是这样。现在您已经准备好创建您的第一台机器管理的Docker主机。

使用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://192.168.99.102:8080/ 来运行 。

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Docker容器学习梳理-容器硬盘热扩容

前面已介绍了docker很多知识点的操作记录,今天这里梳理下docker容器空间扩展的操作。默认情况下,docker容器的空间是10G。在实际生产环境下,对do...

2909
来自专栏决胜机器学习

PHP网络技术(六)——session及与cookie的比较

PHP网络技术(六) ——session及与cookie的比较 (原创内容,转载请注明来源,谢谢) 一、概念 session是持续的、双向性的...

3417
来自专栏性能与架构

nginx 设置资源过期时间

例如我们现在有一个静态资源 s.css page.html 中引用了 s.css 访问page.html,通过firebug查看网络请求,会看到发送了2个网络请...

3284
来自专栏散尽浮华

nginx+php负载均衡集群环境中的session共享方案梳理

在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登...

3367
来自专栏云计算教程系列

如何在Ubuntu 16.04中为Apache创建自签名SSL证书

TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。

520
来自专栏iOS 开发杂谈

HTTP协议详解

HTTP协议,即超文本传输协议(Hypertext transfer protocol)。

683
来自专栏北京马哥教育

KVM虚拟化平台部署及管理

前言 KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发。2007年2月被导入Linux 2.6.20核心中,成为内核...

2927
来自专栏杂烩

elasticsearch2.3.1 集群安装

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elastic...

683
来自专栏北京马哥教育

Docker Swarm学习笔记(二)

搭建基础环境 官方文档中演示时用到了五台主机/虚拟机; ? 这里因为资源有限,只用三台; ? 创建虚拟机(可以用主机,也可以用虚拟机); 安装Ubuntu 16...

2607
来自专栏散尽浮华

zabbix问题记录

zabbix部署好,在使用一段时间后,出现了不少报错,在此简单做一记录。 1)Zabbix监控界面报错“Lack of free swap space”解决 公...

3178

扫码关注云+社区