开始安装Docker之前,先来了解一下 Docker for Windows 与 Docker Toolbox 的区别。
因为这两款软件是针对不同的系统环境分别使用的,选择一款适合自己系统环境的软件进行安装。
Docker for Windows 与 Docker Toolbox:
- Docker for Windows
一个集成的,易于部署的开发环境,用于在Windows PC上构建,调试和测试Docker应用程序。Docker for Windows是一款 本机Windows应用程序,与Hyper-V虚拟化,网络和文件系统深度集成,使其成为Windows中速度最快,最可靠的Docker环境。
Docker for Windows官方下载地址:
https://store.docker.com/editions/community/docker-ce-desktop-windows
特别注意的是:
Docker for Windows 只能运行于 Microsoft Windows 10 Professional或Enterprise 64位,但是它不支持Win7系统。如果你的系统是Win7,请使用 DockerToolbox。
- Docker Toolbox
Docker Toolbox提供了一种在Windows系统上使用Docker的方法。前提是你的机器必须具有运行Windows 7或更高版本的64位操作系统。
Docker Toolbox官方下载地址:
https://docs.docker.com/toolbox/toolbox_install_windows/
如果你的电脑是win10系统,则可以参考官方文档,进行安装 Docker for Windows 软件,官方文档地址:
https://docs.docker.com/docker-for-windows/install/
由于大多数人的系统为win7系统,我的电脑系统也是win7,因此,我就选择 Docker Toolbox 来安装Docker服务了。
安装 Docker Toolbox
下载好 Docker Toolbox 软件之后,本地双击运行安装就行了。
安装完成后,你的电脑桌面上会出现以下几个应用图标:
上面三个图标软件的含义:
Docker Quickstart Terminal:
Docker的启动器终端,可以在这里进行Docker的一系列操作。
首次启动Docker Quickstart可能会遇到的问题
【问题一】:安装好Docker Toolbox之后,当运行Docker Quickstart Terminal的时候,可能会出现如下图所示的问题:
首先需要明白bash.exe是什么?bash.exe是git软件的执行程序,因此,回想在安装Docker Toolbox时,会提示你安装一些软件,里面就有git选择。如下图(图片摘自网络):
但是,有时候即使勾选了git选项,在启动Docker Quickstart Terminal的时候,还是提示找不到bash.exe文件,这时候怎么办呢?
解决办法:
前提是你本地需要安装好git 或者找到bash.exe所在的目录。
右键桌面上的Docker Quickstart Terminal图标,选择属性,在弹出框中找到“快捷方式”选项卡,修改其中的“目标”一栏,最前面的内容修改为你本地电脑上bash.exe的位置即可。
效果如下图:
因为我本地电脑之前已经安装过了git,所以直接使用这个bash.exe的路径即可,安装路径截图如下:
【问题二】:双击运行Docker Quickstart Terminal应用的时候,不能正常启动。
错误信息如下图所示(图片摘自网络):
造成以上的问题的原因,可能是有以下几种情况:
首先需要说明,在Docker Quickstart Terminal启动后会复制C:\Users\Administrator.docker\machine\cache下的镜像boot2docker.iso到C:\Users\Administrator.docker\machine\machines\default下面。
【原因一】
- 检测到默认的boot2docker.iso镜像不是最新版本的,需要到https://github.com/boot2docker/boot2docker/releases下载最新的,并复制到C:\Users\Administrator\.docker\machine\cache目录下。
【原因二】
- 如果本地目录C:\Users\Administrator.docker\machine\cache下面没有boot2docker.iso镜像文件的话,当自动去下载对应的boot2docker.iso镜像文件的时候,但是网络由于是国外的,依然会出现下载超时的情况,导致一直出现错误。
【原因三】
- 如果本地目录C:\Users\Administrator.docker\machine\cache下面没有boot2docker.iso镜像文件的话,加上国外网络不理想,那么,还有一种解决方式就是:
打开Docker Toolbox的安装目录,里面会有一个boot2docker.iso镜像文件,如下图所示(这是Docker Toolbox软件自带的镜像文件,肯定是兼容的):
然后将boot2docker.iso文件复制到C:\Users\Administrator.docker\machine\cache目录下面,再重新启动Docker Quickstart Terminal应用即可。
如果依然出现上图所示的错误,请多次尝试启动Docker Quickstart Terminal,多次启动几次之后就会OK了。
如果Docker Toolbox软件安装目录下面没有boot2docker.iso镜像文件的话,你可以自行去下载: https://github.com/boot2docker/boot2docker/releases
首次运行Docker Quickstart Terminal的初始化过程
第一次运行Docker Quickstart Terminal的时候,软件会需要进行初始化操作,需要等待片刻。
大概的运行情况如下图所示(图片摘自网络):
以上输出结果,说明Docker Quickstart Terminal已经可以正常启动运行了。
当下次运行该软件的时候,显示的信息如下图:
你可以在这里运行Docker命令,比如运行命令 docker images 查看安装的容器列表,效果如下图:
特别说明:
当你第一次运行Docker Quickstart Terminal的时候,且该软件初始化成功之后,你会发现界面上会输出一个IP地址信息,如下图(该图是我本地电脑上的,并非第一次运行的效果,不过每次启动都会显示IP信息的):
这个IP地址的含义是什么呢?
我忘记在哪里查到的资料了,简单来说就是,如果你电脑上安装的是Docker Toolbox用于操作Docker的话,那么当你启动容器之后(比如启动了一个Nginx镜像),要想能使用浏览器访问Nginx服务,则不能使用localhost或者127.0.0.1,必须使用192.168.99.100,也就是Docker Quickstart Terminal分配给你的IP地址。
新手的话,如果不仔细阅读这段话的意思的话,很容易使用localhost、127.0.0.1来访问你的容器服务,会出现访问超时的错误。就会误以为是Docker服务有问题,其实并非如此,建议新手一定要牢记上面的说明。
Oracle Virtual Box:
Docker Toolbox使用Oracle Virtual Box而不是Hyper-V虚拟化产品。
Kitematic (Alpha):
Kitematic 是一个图形化界面的用于操作Docker的应用软件。我们可以简单快速地搭建我们的容器而不需要输入命令,可以在图形用户界面中通过简单的点击从而在容器上部署我们的应用。Kitematic 集成了 Docker Hub,允许我们搜索、拉取任何需要的镜像,并在上面部署应用。它同时也能很好地切换到命令行用户接口模式。
Kitematic官方地址:https://kitematic.com/
软件首页如下图所示:
从上图软件界面可以知道,右侧就是列举了很多热门的开源镜像,方便进行操作使用。
而软件左侧,就是显示本地电脑上已经存在的容器,可以对容器进行停止和删除等操作。
软件还有很多功能,这里就不多做说明,自己网上查询资料学习吧。
使用终端软件连接Docker服务
我使用的是 MobaXterm 这个客户端软件,你也可以使用XShell等第三方软件。
MobaXterm下载地址(我已经上传到百度网盘里面了):
MobaXterm软件效果截图:
使用终端软件连接Docker服务
这里我就使用 MobaXterm 连接本地的Docker服务。
因为本地电脑是win7系统,Docker服务是运行在 boot2docker 所创建的虚拟机里的。
因此,默认的用户名是**docker** 密码是:**tcuser**
同时还需要注意一点,就是host,该填写什么IP呢?
还记得上面讲过Docker Quickstart Terminal在初始化的时候,会默认分配一个IP地址,没错,就是填写这个IP地址。
具体的信息录入,我就不一一截图了,自己操作就行了,按照客户端提示填写即可。
最终成功连接Docker后的效果:
上图所示的输出信息,说明已经成功连接上Docker服务了。
这样的话,你既可以使用Docker Quickstart Terminal来操作Docker服务,也可以使用其他客户端连接Docker服务并进行一系列的操作。