Windows 2016 TP5上的Docker初次体验

本文讲的是Windows 2016 TP5上的Docker初次体验,【编者的话】微软5.28发布Windows 2016 Technical Preview 5,作者第一时间上手,记录发现的新变化,看样子要接着往下写呢。这是第一篇,快来瞅瞅吧。

昨天(2016年4月28日),微软宣布Windows 2016 Technical Preview 5可用。我当然要赶紧查看一下新的TP5和去年11月份发布的TP4有什么不同了。

因为还没找到Azure模板(更新:今天我找到了Windows Server 2016 Technical Preview 5),我是在TP5 branch上准备封装模板(packer templates)的,不过想要自动构建和安装Docker以及Docker基本镜像,还需要一些修改。

虽然没有一个完美的解决方案,但构建第一个Vagrant box也是一个很好的开头,剩下的步骤就手动按照这篇来Container Host Deployment - Windows Server

我真是要陷到这个自动化工作流里面去了

  1. packer build
  2. vagrant box add
  3. vagrant up
  4. vagrant destroy -f

不过你不会,因为要建立一个这样的测试环境,设置起来很难。

如果你没这个耐心去搞一个完整的封装模板,可以按照Arun Gupta的步骤在VirtualBox创建一个TP5 VM

下面我们来看看TP5有什么新东西吧。

太快了—再也不用sleep

在TP5中用Windows Dockerfile创建Docker镜像,比之前在TP4中快多了,另外以前每个run命令中都要sleep几秒,现在sleep完全没必要,赶紧删了吧。 

IP地址可查

之前TP4中的一个移植障碍(Docker Birthday app to TP4 Windows containers)是不能获取每个容器的IP地址。现在只要运行docker inspect便可以显示容器IP了。

之后我会测试docker-compose.yml文件中的链接,看是否能用简单的host名建立一个简单的多容器应用。

不过这已经是Windows容器网络的一次提升了。

npipe就是你的unix socket

还有一个有意思的事儿,Docker引擎现在可以监听一个Windows命名的管道(pipe),就像Linux上的Unix socket。

这就导致你运行Docker命令的行为非常Unix化,你必须要“sudo”一下:
在没有管理员权限时尝试运行Docker客户端,你根本就连不上。

有一个办法可以允许指定用户使用这个命名管道,类似在Linux上把用户添加到docker group,不过我在这次小测试中还没找到这个group的名字。

Kitematic 和 Windows兼容(Kitematic meets Windows (again))

当晚我还在并行虚拟机中玩了一把Windows测试版的Docker,虚拟机中同时安装了Kitematic。因为测试版不是通过VirtualBox使用Kitematic的,我认为在TP5上应该也能用。所以我移除了Beta download的压缩文件,稍微调整了我的TP5设置,使得Kitematic和Window Docker Engine之间可以通信。

我采取的方法相当实用,把本地TCP端口2375添加到Docker Engine:

notepad C:\ProgramData\docker\runDockerDaemon.cmd  

再把dockerd命令改成:

dockerd -H npipe:// -H 127.0.0.1:2375

然后运行:

restart-service docker  

下载的测试版kitematic也会搜索docker.local,所以我在主机表中加了回环IP地址:

notepad C:\Windows\system32\drivers\etc\hosts  

现在Kitematic启动时不再创建新的本地的虚拟机,也不会在左侧的窗口显示本地Windows容器了。启动时不再创建新的本地的虚拟机,也不会在左侧的窗口显示本地Windows容器了。

TP5还有很多东西要去探索,现在你能可以在Docker Hub上pull/push Docker镜像。

敬请期待即将出炉的新博客。有了TP5,社区可以更好的关注Docker在Windows上的进步,还能查看Windows Docker Engine上的最新改进和pull请求。

如果这篇文章对你有用,请分享给朋友和同事。如果你有问题或更好的建议,请留下评论。你还可以在推特@ stefscherer关注我。

原文链接:First impressions of Docker on Windows 2016 TP5(翻译:马远征)

原文发布时间为:2016-04-30

本文作者:夕口夕 

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:Windows 2016 TP5上的Docker初次体验

时间: 2024-09-11 04:20:19

Windows 2016 TP5上的Docker初次体验的相关文章

创建Windows 2016 TP5 Docker本地虚拟机

本文讲的是创建Windows 2016 TP5 Docker本地虚拟机,[编者的话]继Windows 2016 TP5上的Docker初次体验之后,作者接着写了这篇创建本地虚拟机的文章,给出了Packer和Vagrant的用法,并详细说明了Packer的功能. 越来越多的人开始试用Windows Docker容器,这太棒了.无论是想了解Windows上所运行的Docker引擎的当前状态,还是想亲身体验一下Windows容器来,最新的Windows Server 2016 Technical Pr

初次使用Docker的体验笔记总结_docker

一.前言 Docker容器已经发布许久,但作为一名程序员如今才开始接触,实在是罪过-- 在此之前,我还没有对Docker进行过深入的了解,对它的认识仍停留在:这是一种新型的虚拟机.这样的层面.今天就我的初次体验进行记录.声明一点:以下内容大部分是主观片面的,另有来自百度的(嗯,就是百度).要是有什么说的不对,或者是理解有问题的地方,还请大家告诉我,先谢谢大家了. 二.环境 我的基础运行环境是运行在Win10专业版HyperV虚拟机中的CentOS7-Minimal版本.新装的虚拟机,保证运行环境

在Windows系统上安装Docker的教程

  大家好,今天我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识.Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核.这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建.运行以及管理 Docker 容器.有个叫 Boot2Docker 的团队

Windows上安装Docker

How to compile Docker on Windows After taking on my new role at the Azure Linux Team, my first assignment was to get the Docker command line interface working on Windows. This is an important piece in bringing Docker into the Windows ecosystem and pa

一个更好的开发/测试体验:在AWS上运行Docker

先来看一个经常会发生的例子: 假如你被指派为一个用以监测运动健身的移动应用建立REST API,同时要求在笔记本上的开发环境完成第一个端点的编码.在运行了所有单元测试并成功通过后,你将代码放入Git,并且通知QA工程师程序已经等待检测,而且一切运行良好.然而,当QA工程师认真地将最新版本代码部署到测试环境后却发现,这个新开发的REST端点往往连前几分钟的测试都通不过. 为什么会发生这样的情况?你明明已经完整的运行了单元测试,而代码传递给QA工程师之前又没发生任何问题.在与QA工程师一起奋斗数个小

DockerCon2017前瞻 - Docker企业版体验

DockerCon 2017将于四月17号在美国Austin召开.在去年DockerCon上,Docker公司一系列的发布吹响了进军企业市场的号角.今天,容器技术已经愈发成熟,被越来越多的企业所关注和应用.不出意外的话,今年DockerCon的重头戏还是会在企业市场,今年将会有越来越多的传统企业采用容器技术和越来越多的核心应用运行在容器中. 今年3月份,Docker公司宣布Docker企业版(Enterprise Edition, EE),并将开源版本重命名为Docker社区版(Communit

Mac上使用Docker如何快速启动MySQL测试_docker

本文主要讨论使用Docker快速启动 MySQL 测试的方法,包括Mac环境.一起看看吧! 近来业界有很多对Docker的讨论,其生态系统发展得很快,然而,从简单的"入门"或"引导"类的文章中能容易地找到成熟的技术,但Docker不然.我在Mac上试玩过Docker,但Mac绝对是Docker界的二等公民.当我在Giuseppe的博客上看到关于在Mac上使用新Docker beta<Docker for Mac beta and MySQL>一文时,决定

在Raspberry Pi上构建Docker 1.12步骤详解

过去有很多用户问我们该如何构建Docker Engine和相关的Debian包.可能他们想尝试一些新特性,所以需要尽快获得最新的发布版本. 在这里我分享一下如何在Raspberry Pi上构建最新的Docker版本.但是注意,虽然难度不大但是耗时较长. 那就让我们开始,跟着我一起深入兔子洞穴里探险吧(_译者注:作者想把自己比作了爱丽丝_). 背景 这篇教程的目的是告知你在外表酷炫.速度飞快.价值35美刀的超级计算机(即Raspberry Pi)上构建Docker Engine的所有细节. 准备构

在Windows 8 PC上安装Linux的四种方法

微软RTM版本的Windows 8相信已经有很多人试用过了,如果在Windows 8 PC上安装Linux很困难,那我们该怎么办呢?下面提供四种方法. 在UEFI上启动Linux 首先,需要在UEFI上启动Linux.因为除了Mac,很少有PC使用UEFI替换BIOS,所以大家都不怎么关心从UEFI启动Linux. 现在,很多想在Mac上运行Linux的人使用兼容支持模块CSM,提供Mac上BIOS的仿真.这种方式很麻烦,运行得不好,在Secure Boot Windows 8 PC上可能会更糟