Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1809019
  • 博文数量: 636
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3950
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-06 21:58
个人简介

博客是我工作的好帮手,遇到困难就来博客找资料

文章分类

全部博文(636)

文章存档

2024年(5)

2022年(2)

2021年(4)

2020年(40)

2019年(4)

2018年(78)

2017年(213)

2016年(41)

2015年(183)

2014年(66)

我的朋友

分类: 系统运维

2017-01-10 17:13:30

本文主要介绍Docker在Windows下的安装。关于Docker的介绍和文档在其官网中可以找到: 。安装环境:Windows7。

  Docker引擎使用了一个定制的Linux内核,所以要在Windows下运行Docker我们需要用到一个轻量级的虚拟机(vm),我们使用Windows Docker客户端以控制Docker引擎,来创建,运行和管理我们的Docker容器(关于Docker引擎,容器等具体概念请参考官网)。

 

安装步骤

第一步:

  首先到页面去下载最新的Windows Docker客户端,目前最新版本为v.1.0.0,下载过来就是一个exe文件,直接双击运行。

 

图1.Windows下的Docker安装文件

 

第二步:

  执行安装文件。

 

图2.安装文件中的3个主要部分

 

  安装过程一路点击下一步,在第3步中我们可以看到实际上安装的内容包括了3部分,第一是Docker在Windows下的脚本和虚拟机,第二是Oracle的VirtualBox,第三是MSYS,是Windows下的最优秀的GNU环境之一。

  这里我们都勾选,全部安装。一路下一步后等待安装结束,安装程序提示重新启动,为了保证安装成功避免意外,这里重新启动。

 

第三步:

  默认会在桌面生成两个快捷方式,Docker的客户端和VirtualBox,双击Docker的客户端,第一次运行时会在VirtualBox中安装boot2Docker-vm虚拟机,安装成功以后自动启动(这里不需要用户每次到VirtualBox中手动启动boot2Docker-vm虚拟机,执行Docker客户端后虚拟机自动启动)。

图3.客户端安装虚拟机并连接成功的界面

 

  到图3就已经安装成功了。

 

 

图4.测试,登录Docker,成功

 

安装过程中可能遇到的问题:

  第一次启动的过程中客户端可能会出现boot2Docker-vm is not running,这表示虚拟机的安装有问题,我们可以尝试手动到VirtualBox中去启动。

 

图5.手动启动boot2Docker-vm虚拟机,双击

 

  此时VirtualBox会报错,错误码为E_FAIL (0x80004005),弹窗如下图所示,提示“不能为虚拟电脑boot2Docker-vm打开一个新任务”。

 

图6.可能出现的错误(图片来自网络)

 

 

图7.这里是更详细的错误(图片来自网络)

 

  错误原因,遇到这个错误一般来说都是宿主机的因特尔虚拟技术(Intel Virtual Technology)未开启的原因。

  解决方法,重启电脑,系统启动前进入BIOS界面,启动Intel Virtual Technology,如下图所示(不同的BIOS系统在不同位置,不过大同小异)。

图8.进入BIOS启动Intel Virtual Technology(图片来自网络)

 

  退出BIOS,保存设置并重启机器,再次启动Docker客户端即可。

 

DockerHello World

第一步:

  在运行使用Docker之前,我们先来创建一个Docker账户,以便我们能使用Docker Hub,Docker Hub是Docker的核心库,它帮助我们管理Docker及其组件。

它还提供了主镜像,用户授权,自动化的镜像和像build triggers和web hooks等工作流工具,还有对GitHub和BitBucket整合等。

我们可以直接登录Docker的官网来注册账号,或者直接通过命令来注册。

  $ sudo docker login

 

第二步:

  简单的输出Hello World的命令

  $ sudo docker run ubuntu:14.04 /bin/echo 'Hello World'

  运行如下:

 

图9.Hello World

  第一次使用该命令时,Docker会从云端将ubuntu的image(ubuntu的Docker镜像)检出到本地。

  该命令完成了一个简单的功能,但是Docker内核做的工作包括依赖镜像的检出,容器的创建和销毁等都已经有了。有关此命令的详细解释请访问Docker官网。

  以上就是Docker在Windows下的安装以及Hello World。





本文目录如下:




的方法应该参考官网,之前参考的是网上其他人翻译的博客,出了一些问题,后来发现,是由于docker更新速度较快,安装官网的方法最为妥当!

下面引用中的几个提示:

提示1:Docker 已经在windows7.1和windows 8上通过,当然它也可以在低版本的windows上使用。但是你的处理器必须支持硬件虚拟化。

提示2:Docker 引擎使用的是内核特性,所以我们需要在 Windows 上使用一个轻量级的虚拟机 (VM) 来运行 Docker。我们使用 Windows的Docker客户端来控制 Docker 虚拟化引擎的构建、运行和管理 。

提示3:为了简化这个过程,我们设计了一个叫 Boot2Docker 的应用程序,你可以通过它来安装虚拟机和运行 Docker。

提示4:虽然你使用的是 Windows 的 Docker 客户端,但是 docker 引擎容器依然是运行在 Linux 宿主主机上(现在是通过Virtual box)。直到我们开发了 windows 版本的 Docker 引擎,你只需要在你的 Windows 主机上启动一个 Linux 容器。


参考,即按照该网站的步骤一步步按照即可,该网站的教程非常详细

1.windows按照docker的基本要求

(1)64为,win7或者更高 
(2)支持“ Hardware Virtualization Technology”,并且,“virtualization ”可用

2.具体安装步骤

即安装Docker Toolbox,同时还附加安装

  • Docker Client for Windows
  • Docker Toolbox management tool and ISO
  • Oracle VM VirtualBox
  • Git MSYS-git UNIX tools 
    不用担心,下载的Docker Toolbox已经完全包含了这几个软件,直接安装就可以了

1.进入Docker Toolbox的,选择windows版本下载 
这里写图片描述
2. 下载完成后,双击安装文件 
3. 一路Next,接受所有默认安装 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述

注意:在安装过程中,会出现几个其他的安装过程,如Ocracle Corporation等系列软件,全部选择安装即可,下面是几个小例子: 
这里写图片描述 
这里写图片描述 
另外,如果你安装了360,它可能会阻止程序的安装,应该注意允许程序安装 
这里写图片描述 
4. 最后Finish 
这里写图片描述 
5. 整个安装过程非常简单,安装完成后,可以在桌面得到如下的三个图标: 
这里写图片描述

3.开始使用

1.点击Docker Quickstart Terminal图标,从而打开一个Docker Toolbox terminal 
这里写图片描述 
- 打开terminal后,terminal会自动进行一些设置,需要点时间,全部完成后,会出现如下的结果 
这里写图片描述 
3.在$后输入各种docker命令就可以使用docker了 
注:不需要像ubuntu中那样使用sudo! 
例如: 
(1)查看docker的版本信息

docker info
  • 1
  • 1

这里写图片描述 
(2)登陆docker Hub的账号

docker login
  • 1
  • 1

然后,输入用户名和密码,例如 
这里写图片描述 
个人觉得:在使用docker时,是否登陆没有特别大的影响,只不过是,如果登陆了,就可以向docker hub上push自己的镜像了

4.安装远程连接工具连接docker

按照上面方法打开Docker Toolbox terminal后,发现在该终端中,无法进行复制、粘贴等操作,使用起来非常不方便,所以,这里参考zistxym的博文,安装远程连接工具SecureCRT

  • 下载SecureCRT 
    地址:绿盟SecureCRT绿色版免安装,不知道为什么,有时这两个链接提示有病毒,所以,再提供一个,提取码:rm3g
  • 运行SecureCRT 
    这里写图片描述
  • 连接docker 
    这里写图片描述 
    这里写图片描述
    注:默认的用户名和密码是: docker/tcuser

  • 使用SecureCRT即与使用Docker Quickstart Terminal的作用相同 
    这里写图片描述
    这里写图片描述

    • 再使用SecureCRT连接docker时,必须要先启动Docker Quickstart Terminal
  • 关于SecureCRT的几点设置 
    (1)使用中发现,secureCRT的鼠标右键功能默认是粘贴的功能,用起来和windows系统的风格不一致,如果要改为右键为弹出文本操作菜单功能,方便对选择的内容做拷贝编辑操作,可以在options菜单—-》global options——》terminal——-》mouse功能块处将paste on处改为:right button 
    这里写图片描述
    此时,再鼠标右键时,弹出了文本操作功能的菜单,如下: 
    这里写图片描述 
    (2)更改secureCRT的字体和背景 
    这里写图片描述
    这里写图片描述 
    仅是更改当前section的字体 
    这里写图片描述

5.安装中遇到的问题

全部安装完成后,打开Docker Quickstart Terminal,可能会出现如下错误: 
这里写图片描述 
这是因为电脑没有开启支持VT-X/AMD-v功能,即没有开启虚拟化技术,需要重启电脑,去BIOS里开启该功能

在利用image生成镜像时,发生了如下错误

flag provided but not defined:

以为是因为docekr service和client的版本不同,各种查询折腾,也没有成功,最后发现,居然是命令中-v和路径之间少了空格!都怪自己没有仔细查看错误提醒 
这里写图片描述 
~~~~~~~~~~ 
这里写图片描述

6.Docker的更新

如果本机安装的docker过期了,也就是有新版本的docker发布时,应该对本机的docker进行更新,否则很可能会影响它的继续使用,那么,对本机的docker进行更新可以安装下述方式: 
(1)打开Docker Quickstart Terminal终端 
(2)输入命令:docker-machine upgrade default 
会开始自动更新本机的docker,如下图所示 
这里写图片描述 
(3)查看docker版本

docker version
  • 1
  • 1

这里写图片描述

这里写图片描述

7.Docker中的jupyter

我使用的image中带有jupyter,但发现按照ubuntu下的使用方法,即进入容器后,打开无法打开Jupyter,经过一番查询才终于找到正解,原来jupyter的image中就有明确说明,但没有想到去那里查询!

具体方法: 
(1)打开boot2docker,输入docker-machine ip,会返回一个IP地址,例如

$ docker-machine ip myjupytermachine 
192.168.99.104

(2)在浏览器中打开,即可打开jupyter 
而不是与ubuntu中一样的 ()

8.windows下使用docker的常用命令

详细内容与ubuntu下的使用方法类似,见Docker学习系列(三):Ubuntu下使用Docker的基本指令记录及一些注意事项,但为了查阅方便,这里再单独列举

  • 查看本机images
docker images
  • 1
  • 1
  • 查看本机运行的container
docker ps
  • 1
  • 1
  • 从dockerhub上pull 镜像
docker pull 镜像名称
  • 1
  • 1
  • 利用image运行container:
docker run -it --rm -p 8888:8888 -v /c/Users/tingting/dropbox/code:/root/opt/workspace -v /c/Users/tingting/dropbox/data:/root/data tingtinglu/caffe_mxnet
  • 1
  • 1

(1)利用参数 -v 
(2)冒号前为宿主机目录,必须为绝对路径 
① /c/Users/tingting/dropbox/code: 
本机的C:\Users\tingting\dropbox\code文件夹 
② /c/Users/tingting/dropbox/data 
本机的C:\Users\tingting\dropbox\data文件夹 
(3)冒号后为镜像内挂载的路径 
① /root/opt/workspace 
docker中的文件夹/root/opt/workspace 
② /root/data 
docker中的文件夹/root/data 
(4)这里的本机文件夹为c盘,那么,能否为d盘呢? 
测试:

docker run -it --rm -p 8888:8888 -v /d/Dropbox/code:/root /opt/workspace -v /d/Dropbox/data:/root/data tingtinglu/caffe_mxnet
  • 1
  • 1

发现并不可行!这是因为目前,windows下只支持c盘下的文件夹映射

阅读(872) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~