Docker在windows下的使用【一】 - 狂师

时间:2024-03-12 20:25:12

Docker在windows下的使用【一】

2017-03-12 16:38  狂师  阅读(21002)  评论(0编辑  收藏  举报

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

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

docker login

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

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

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

  • 运行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

这里写图片描述

这里写图片描述

7.Docker中的jupyter

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

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

$ docker-machine ip myjupytermachine 
192.168.99.104

(2)在浏览器中打开http://192.168.99.104:8888,即可打开jupyter 
而不是与ubuntu中一样的http://localhost:8888 (http://0.0.0.0:8888/)

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

  • 查看本机images
docker images
  • 查看本机运行的container
docker ps
  • 从dockerhub上pull 镜像
docker pull 镜像名称
  • 利用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)利用参数 -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

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