Docker在windows下的使用【一】
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盘下的文件夹映射