Windows上的Docker Machine - 如何安装配置主机

最近我一直在研究Docker,原因有很多,但主要还是我比较喜欢研究前沿的技术,甚至还可以帮忙构建一个Demo(演示)或者一两个实验室。和其他人的做法有一点不同,我是在Windows操作系统上进行的配置安装,像大多数中间件开发人员一样。所以,如果你参考了Arun的博客“ Docker Machine to Setup Docker Host ”(http://blog.arungupta.me/docker-machine-seutp-docker-host-techtip78/),你可能已经尝试过了在Windows上做这项工作。以下是使用Docker Machine管理和启动Docker主机的最终简明指导。

Docker Machine

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

在开始使用Docker或Machine之前,首先要做一件事。获取 Windows的Git (又名msysgit)。它包含了有各种实用的unix工具,在很多时候你都能用到它们。

方法1 - 万能的解决方案

首先是安装Windows Boot2docker分布 ,我早期的博客也有提及。它包含以下配置的位,可供你使用:

  • VirtualBox
  • Docker的Windows客户端

方法2 - 较为复杂的方案

但由于一些原因,我不喜欢boot2docker安装程序,主要是因为我想知道在我的机器上究竟发生了什么。所以我稍微研究了一下,如果你决定放弃上述的万能解决方案,那么就可以根据下文就要进行稍复杂的安装。从虚拟化解决方案开始,因为它不能运行Linux(至少到现在还不行),而Docker是基于Linux的,所以我们在Windows上需要一些类似的东西。下载安装VirtualBox,并确保你的系统上安装的是版本4.3.18(VirtualBox-4.3.18-96516-Win.exe,105 MB)。警告:在Virtualbox中运行Windows本身时会出现一个奇怪的问题。你可能会在启动主机时遇到一些问题

看到这里时,你应该去获取Docker Windows客户端,从测试服务器中直接下载(docker-1.6.0.exex86_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环境变量,就能免去大量的输入。现在你已经准备好创建第一台Machine管理的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上使用Machine安装了第一台docker主机。

本文的版权归 萌萌哒小睿睿 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏实战docker

Docker下dubbo开发,三部曲之三:java开发

在前两章《Docker下dubbo开发,三部曲之一:极速体验》和《Docker下dubbo开发,三部曲之二:本地环境搭建》中,我们体验了dubbo环境搭建以及服...

1905
来自专栏我的博客

Memcached介绍和配置

1、memcached介绍 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存 储各种格式的数...

3114
来自专栏漫漫前端路

HTTP协议 - 从URI开始

URI, 既是统一资源标识符号,每个 Web 服务器都有一个 URI 标识符,它在世界范围内唯一标识并定位信息资源。

824
来自专栏Greenplum

Linux 常用命令(二)

Linux是一套免费使用和自由传播的类Unix操作系统(主要用在服务器上),接下来详细的介绍一下linux的一些知识。

110
来自专栏我爱编程

Python多进程用到的方法

join():上面的代码执行完毕之后,才会执行后面的代码。 先看一个例子: from multiprocessing import Process impor...

2715
来自专栏行者悟空

Redis-3.x集群安装(三主三从)

1993
来自专栏CaiRui

cookie和session

cookie: 1. `cookie`出现的原因:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道...

1805
来自专栏Laoqi's Linux运维专列

告警监控系统开发

3295
来自专栏小樱的经验随笔

【批处理学习笔记】第十三课:常用dos命令(3)

网络命令 ping 进行网络连接测试、名称解析 ftp 文件传输 net 网络命令集及用户管理 telnet 远程登陆 ipconfig显示、修改TCP/IP设...

2626
来自专栏友弟技术工作室

使用 Dockerfile 定制镜像

最近公司项目上线原因,一直加班。没有时间更新文章。隔壁部门需要我提供sdk的打包的支持,所以一直在学习docker。原文 ? 从刚才的 docker commi...

3457

扫码关注云+社区