备案 控制台
开发者社区 开发与运维 文章 正文

【Docker最佳实践】Windows上安装Docker及常见问题解决

简介: 一、环境准备:1. window 72. 支持“ Hardware Virtualization Technology”,并且,“virtualization ”可用3. Docker Toolbox(官网地址:https://www.docker.com/products/docker-desktop 阿里云镜像: http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/)【下载最新版本】

一、环境准备:


  1. window 7
  2. 支持“ Hardware Virtualization Technology”,并且,“virtualization ”可用
  3. Docker Toolbox

(官网地址: https://www.docker.com/products/docker-desktop 

阿里云镜像: http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/)【下载最新版本】


Win10的安装:


这里没有针对win10的安装介绍,但是对于win10的小伙伴,提下该注意的地方:

1.Docker for Windows是一个Docker Community Edition(CE)应用程序。Docker for Windows安装包包含了在Windows系统上运行Docker所需的一切。如果你不想装虚拟机,想直接在你的Windows操作系统中安装与学习使用docker,那么你首先得查看你的系统是否满足Docker for Windows的安装与使用要求。


2.Docker for Windows的当前版本运行在64位Windows 10 Pro,专业版、企业版和教育版(1607年纪念更新,版本14393或更高版本)上。Ps:家庭版是不行的,如果你是家庭版,那么一是升级到专业版,破解专业版推荐个地址:

http://blog.csdn.net/SONGCHUNHONG/article/details/78006389 ,


二是安装Docker Toolbox

自行网上百度 http://blog.csdn.net/tina_ttl/article/details/51372604


如果你满足Docker for Windows的环境条件了,那么首先检查电脑的虚拟化开启了没有:进入任务管理器(ctrl+alt+delete),点击性能->cpu ,查看虚拟化是否已启用,如果虚拟化是已禁用,那么你需要重启电脑进入bios开启虚拟化(我们的发的笔记本cpu都是支持虚拟化的,重启时进入bios按esc -> 再按f12 -> 去开启虚拟化)


3.开启虚拟化重启后,进入任务管理器看虚拟化是否已启用


网络异常,图片无法展示
|


4. 然后再是进入电脑的控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上,启用后电脑会重启,后面就可以下载并安装Docker for Windows了。


网络异常,图片无法展示
|


下载安装


1.进入网址 https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows 下载并安装。我安装的是稳定版。安装过程没什么要注意的。


网络异常,图片无法展示
|


2.启动以后会出现在桌面的右下角区域,鼠标放上去以后显示Docker is running表示启动成功,第一次安装启用好像是会弹出个Docker Cloud登录界面,去注册然后登录,使用和git有点类似,可以pull图像等等


网络异常,图片无法展示
|

以上是win10的安装教程,其实都差不多,只是有些地方有点小区别(其实完全可以忽略)


二、安装


环境和安装包下载完成之后,接下来就是执行安装

具体安装步骤如下:

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

Docker Client for Windows

Docker Toolbox management tool and ISO

Oracle VM VirtualBox

Git MSYS-git UNIX tools

不用担心,下载的Docker Toolbox已经完全包含了这几个软件,直接安装就可以了

1.双击安装文件

2.一路next即可,接受所有默认安装(当然你还可以指定你的安装路径)

图示如下:

网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|


选择好之后接着就是安装命令


网络异常,图片无法展示
|
网络异常,图片无法展示
|


注意:在安装过程中,会出现几个其他的安装过程,如Ocracle Corporation等系列软件,全部选择安装即可,下面是几个小例子:


网络异常,图片无法展示
|
网络异常,图片无法展示
|

另外,如果你安装了360,它可能会阻止程序的安装,应该注意允许程序安装


网络异常,图片无法展示
|


3.最后安装完成

网络异常,图片无法展示
|


4. 整个安装过程非常简单,安装完成后,可以在桌面得到如下的三个图标:

网络异常,图片无法展示
|

本来是小鲸鱼图标

网络异常,图片无法展示
|

,被我指定使用git打开时候就变成了这样


三、开始使用


1.点击Docker Quickstart Terminal图标,从而打开一个Docker Toolbox terminal


2.- 打开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后,发现在该终端中,无法进行复制、粘贴等操作,使用起来非常不方便,所以,这里参考zistxym的博文,安装远程连接工具SecureCRT


下载SecureCRT

【 http://www.xdowns.com/soft/softdown.asp?softid=23625】

地址:绿盟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的字体


网络异常,图片无法展示
|


四、安装中遇到的问题

全部安装完成后,打开Docker Quickstart Terminal,可能会出现如下错误:

网络异常,图片无法展示
|


这是因为电脑没有开启支持VT-X/AMD-v功能,即没有开启虚拟化技术,需要重启电脑,去BIOS里开启该功能

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

flag provided but not defined:

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

网络异常,图片无法展示
|


五、Docker的更新

如果本机安装的docker过期了,也就是有新版本的docker发布时,应该对本机的docker进行更新,否则很可能会影响它的继续使用,那么,对本机的docker进行更新可以安装下述方式:


(1)打开Docker Quickstart Terminal终端


(2)输入命令:docker-machine upgrade default

会开始自动更新本机的docker,如下图所示


网络异常,图片无法展示
|


(3)查看docker版本

docker version

网络异常,图片无法展示
|
网络异常,图片无法展示
|


六、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的常用命令

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


查看本机images

docker images


查看本机运行的container

docker ps


从dockerhub上pull 镜像

docker pull 镜像名称

利用image运行container:

docker run -it--rm-p8888: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-p8888:8888 -v /d/Dropbox/code:/root /opt/workspace -v /d/Dropbox/data:/root/data tingtinglu/caffe_mxnet

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

遇到的其他一些问题的和解决方法:


1.镜像过时或者无法启动


第一次运行Docker Quickstart Terminal时会进行Docker环境的初始化,会在VirtualBox中自动创建名字为【default】的linux虚拟机,再此过程中会用到boot2docker.iso镜像文件。默认情况下,启动程序会从GitHub上下载此文件的最新版,但由于文件相对较大且速度不给力,多数情况下会下载失败,造成Docker环境无法启动,如下图:


网络异常,图片无法展示
|


解决方法:

其实DockerToolbox安装文件自带了boot2docker.iso镜像文件,位于安装目录下(如C:\Program Files\Docker Toolbox) ,将此文件拷至C:\Users\Administrator\.docker\machine\cache目录下,然后在网络断开的情况下重新启动,便可初始化成功。如下图:


网络异常,图片无法展示
|

其中 【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip地址。

2. 启动docker toolbox的时候,会出现找不到而去下载boot2docker.iso的情况

   其实没有必要重新下载,在你安装docker toolbox的目录有这个文件,拷贝到它查找的目录即可

   比如:一般默认读取administrator下的.docker文件夹里面的镜像【路径】:C:\Users\Administrator\.docker\machine\machines\default(拷贝到这个目录下即可)


网络异常,图片无法展示
|

3. 直接使用docker run 运行ubuntu的镜像时会出现 the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty' 的错误

   前面加上winpty即可,即winpty docker run ---


4. 如果像在linux中直接使用 docker run -it ubuntu /bin/bash 去启动一个容器时,会出现一些非常奇葩的错误,我的错误是 docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"D:/install/Git/usr/bin/bash\": stat D:/install/Git/usr/bin/bash: no such file or directory".   我现在还不知道是什么原因,但是当我使用 docker run -it ubuntu bash去启动容器时,就可以正常启动,不会出现这些错误


5. 在使用Docker的时候遇到删不掉image的情况,如下:


root@ubuntu:/opt/docker# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
door/ubuntu-nginx   v2                  5e4f2da203e2        5 minutes ago       283.3 MB
<none>              <none>              46987ed2da40        33 minutes ago      129 MB
<none>              <none>              20248c31e1a2        45 minutes ago      129 MB
door/ubuntu-nginx   v1                  0e35a55569f5        About an hour ago   280.8 MB
ubuntu              latest              104bec311bcd        2 weeks ago         129 MB
hello-world         latest              c54a2cc56cbb        6 months ago        1.848 kB
root@ubuntu:/opt/docker# docker rmi 5e4f2da203e2
Error response from daemon: conflict: unable to delete 5e4f2da203e2 (must be forced) - image is being used by stopped container 06622513ce3c


解决方法:


  • 先查询记录 docker ps -a
  • 把该镜像的记录全部删除掉,如果删除所有镜像的记录,可以使用:docker ps -a|awk '{print $1}'|xargs docker rm
  • docker rmi 5e4f2da203e2就可以了


6.Docker虚拟机文件地址修改


默认情况下,docker-machine创建的虚拟机文件,是保存在C盘的C:\Users\用户名\.docker\machine\machines\default 目录下的,如果下载和使用的镜像过多,那么必然导致该文件夹膨胀过大,如果C盘比较吃紧,那么我们就得考虑把该虚拟机移到另一个盘上。具体操作如下:

1.使用docker-machine stop default停掉Docker的虚拟机。

2.打开VirtualBox,选择“管理”菜单下的“虚拟介质管理”,我们可以看到Docker虚拟机用的虚拟硬盘的文件disk。

3.选中“disk”,然后点击菜单中的“复制”命令,根据向导,把当前的disk复制到另一个盘上面去。

4.回到VirtualBox主界面,右键“default”这个虚拟机,选择“设置”命令,在弹出的窗口中选择“存储”选项。

5.把disk从“控制器SATA”中删除,然后重新添加我们刚才复制到另外一个磁盘上的那个文件。

这是我设置好后的界面,可以看到我在步骤3复制的时候,复制到E:\VirtualBox\default\dockerdisk.vdi文件去了。


网络异常,图片无法展示
|

【注意,Docker容器是在VirtualBox的虚拟机里面,不是在Windows里面,所以不能用127.0.0.1访问】

7.default虚拟机的默认用户名和密码

用户名:docker 
密码:tcuser

8.更改镜像仓库地址

 docker默认的镜像仓库地址是 https://hub.docker.com/,但国内的下载速度太过缓慢,最好使用国内镜像,比如阿里云。

 首先需要注册阿里云账号,然后在 https://cr.console.aliyun.com/页面的左侧可以看到【镜像加速器】选项

网络异常,图片无法展示
|

在powershell或cmd中通过 【docker-machine ssh default】命令登录虚拟机(或使用设置好的XShell连接),执行如下命令:

sudosed-i"s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile

然后重启default

docker-machine restart default

小试牛刀:

外部访问容器

学习文档

小迷彩
目录
相关文章
随缘而愈
|
9天前
|
Linux 虚拟化 Docker
Windows12安装Docker
Windows12安装Docker
随缘而愈
41 2
GG2020gg
|
3天前
|
运维 Linux 虚拟化
Docker详解(三)——Docker安装与部署
Docker详解(三)——Docker安装与部署
GG2020gg
37 4
TesterMuller
|
4天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
TesterMuller
7 0
同学小张
|
5天前
|
5G Python
Windows11搭建Python环境(Anaconda安装与使用)
Windows11搭建Python环境(Anaconda安装与使用)
同学小张
24 0
渐暖
|
5天前
|
关系型数据库 MySQL Windows
windows安装MySQL5.7教程
windows安装MySQL5.7教程
渐暖
16 0
ai科技VX_kelaile520
|
5天前
|
人工智能 安全 机器人
AI电销机器人系统源码部署:freeswitch安装Windows
在Windows上安装FreeSWITCH:访问官网下载安装程序,运行并按提示安装;选择安装路径和组件;等待安装完成;配置FreeSWITCH,修改设置;启动服务;测试其功能;如遇问题,参考官方文档或进行调试故障排除。记得定期更新维护以保证稳定安全。
ai科技VX_kelaile520
11 1
一歲抬頭
|
5天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
一歲抬頭
7 0
一歲抬頭
|
6天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(7)Ubuntu20.04 arm64安装Docker
Linux(7)Ubuntu20.04 arm64安装Docker
一歲抬頭
22 0
wljslmz
|
6天前
|
存储 Ubuntu Docker
如何在 Ubuntu 上安装 Docker?
【4月更文挑战第17天】
wljslmz
45 8
如何在 Ubuntu 上安装 Docker?
日出等日落
|
8天前
|
网络协议 安全 测试技术
Windows安装禅道系统结合Cpolar实现公网访问内网BUG管理服务
Windows安装禅道系统结合Cpolar实现公网访问内网BUG管理服务
日出等日落
31 3

热门文章

最新文章

  • 1
    安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
  • 2
    Docker搭建持续集成平台Jenkins最简教程
  • 3
    Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
  • 4
    LLaMA-Factory 基于docker的大模型多卡分布式微调
  • 5
    CentOS8中Docker安装及部署
  • 6
    ECS安装问题之docker安装如何解决
  • 7
    【Docker项目实战】使用Docker部署Sun-Panel导航面板
  • 8
    构建高效自动化运维体系:基于Docker和Kubernetes的最佳实践
  • 9
    Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
  • 10
    docker删除镜像
  • 1
    Windows公网远程连接MongoDB数据库【无公网IP】
    52
  • 2
    Windows环境下面启动jar包,输出的日志出现乱码的解决办法
    56
  • 3
    Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
    79
  • 4
    无远不至的掌控力:探索Windows Server 2019的远程访问绝招
    22
  • 5
    windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
    147
  • 6
    解锁安全之门,Windows Server 2019密码修改攻略大揭秘
    80
  • 7
    铁壁如墙-WINDOWS SERVER 2019勒索病毒终极防御指南
    57
  • 8
    Windows Server 2019 IIS HTTPS证书部署流程详解
    82
  • 9
    windows下快速安装nginx 并配置开机自启动
    62
  • 10
    windows下采用 nginx配置websocket支持wss流程
    37
  • 相关课程

    更多
  • 深入解析Docker容器化技术
  • 基于Docker与Jenkins实现自动化部署
  • Docker 快速入门
  • Docker完全自学手册图文教程
  • AI开发者的Docker实践
  • Docker 入门
  • 相关电子书

    更多
  • 应用 Docker 进行持续交付:用技术改变交付路程
  • 从Docker到容器服务
  • 构建基因数据应用生态系统—— docker in Bio/informatics
  • 相关实验场景

    更多
  • 基于ROS快速部署LNMP环境(CentOS 7)
  • Docker Compose部署案例
  • Docker Compose入门
  • 快速配置Windows云服务器
  • 部署并使用Docker(Alibaba Cloud Linux 3)
  • 部署并使用Docker(CentOS 8)
  • 推荐镜像

    更多
  • docker-ce
  • docker-toolbox
  • ubuntu-ports
  • 下一篇
    部署LAMP环境(Alibaba Cloud Linux 3)

    资讯网人工种植金樱子制作视频的网站龚姓怎么起名字企业网站开发制作自助建设网站网站建设国外建筑设计欣赏网站我的恶魔少爷电视剧寿材店起名称德国camlog种植首当其冲手机网站建设平台seo站外优化方法周易算命安卓版给男孩起名字带子互联网营销如何推广湖北网站设计制作众筹制作网站seo工资待遇seo搜索引擎优化关键词语千度周易免费店铺测名字打分好看的清穿小说烤肉餐饮起名生鲜超市起的名字seo认证时过境迁是什么意思带焕字的网名郭旺演的农村电视剧敬抗疫英雄作文深圳市企业网站设计少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

    资讯网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化