windows下安装docker toolbox,搭建spring boot项目

最近在研究微服务架构,在关于微服务服务发布方面看到大都是推荐使用docker容器,关于docker相关原理,这里不做深入研究,本文主要针对windows下docker环境安装以及spring boot项目的发布。

在网上的教程中,大多数是建议利用linux来安装docker,在此我也建议大家用linux安装,为什么?请看下图

windows下安装docker toolbox,搭建spring boot项目

docker使用go语言开发,并且运行在linux系统下,而如果想用window运行,只能在window基础上先运行一个linux虚拟机,然后再在这个linux虚拟机下运行docker。这么看来,docker好像并没有对window进行友好的优化和开发,但这是没有办法的,可能docker的内部算法、构造需要linux系统的某些特性,而window是没有的,这也是window系统的劣势。那么说好的是window下安装docker,无论是多么建议linux下安装都好,可能有的同学就是没有linux的主机(比如我),那就只能用window安装了。

第一,下载DockerToolbox,并安装。

由于国内“科学”上网的原因,下载DockerToolbox变得些许困难,在此推荐在国内一个网站下载(http://get.daocloud.io/#install-docker-for-mac-windows)。进入网站,选择window版本下载。下载下来后,双击安装。


直接点击next

windows下安装docker toolbox,搭建spring boot项目


点击需要安装的程序,建议全安装

windows下安装docker toolbox,搭建spring boot项目


勾选一下三个,尤其第二最好勾上

windows下安装docker toolbox,搭建spring boot项目

在后几步中,会提示安装VritualBox的一些串口程序什么的,全都安装即可。最后安装完后,桌面多出三个图标。

windows下安装docker toolbox,搭建spring boot项目

第二,启动Docker。

点击运行Docker Quickstart Terminal,既上面第二个图标。第一次打开一般都会比较久,第二次打开很快。若没有什么问题的话,程序第二次打开效果图如下:

windows下安装docker toolbox,搭建spring boot项目

三,可能出现的问题

1.若点击Docker Quickstart Terminal图标后,提示window正在查找bash.exe的话,点击浏览自己查找。一般在Git所安装下的bin目录。

windows下安装docker toolbox,搭建spring boot项目

2.打开后,若在bash界面提示没有boot2docker镜像,需要在github上下载,提示大概如下

windows下安装docker toolbox,搭建spring boot项目

这是因为没有找到默认的boot2docker镜像的原因,提示正在下载,然而github的下载速度不可恭维,第一反应都是找别的站资源下载。

在此要注意了,不同的docker版本最好要对应相同的boot2docker版本,相信打开github下载页的应该都留意到。最后我才发现,其实不用下载,

在一开始安装好的DockerToolbox根目录下就有一个boot2docker,并且可以推断就是对应的版本。

windows下安装docker toolbox,搭建spring boot项目


把boot2docker.iso复制到,bash所提示找不到的那个目录下(我这里是C:\Users\Administrator\.docker\machine\cache),再重新启动即可。
3.若安装过,卸载后,重新安装,无法正常使用,提示:
解决办法:
(1).以管理员方式打开cmd,输入以下命令。(第二行命令参考第一行命令返回的结果)

C:\>bcdedit /copy {current} /d "No Hyper-V" 
The entry was successfully copied to {ff-23-113-824e-5c5144ea}. 

C:\>bcdedit /set {ff-23-113-824e-5c5144ea} hypervisorlaunchtype off 
The operation completed successfully.
(2).重启电脑,选择No Hyper-V 系统,进入电脑。

windows下安装docker toolbox,搭建spring boot项目

(3).下载安装Docker Toolbox。
(4).打开安装目录,找到start.sh。

编辑start.sh,找到下面的代码片段:

STEP="Checking if machine $VM exists"
if [ $VMEXISTSCODE -eq 1 ]; then
  "${DOCKERMACHINE}" rm -f "${VM}" &> /dev/null || :
  rm -rf ~/.docker/machine/machines/"${VM}"
  #set proxy variables if they exists
  if [ -n ${HTTPPROXY+x} ]; then
    PROXYENV="$PROXYENV --engine-env HTTPPROXY=$HTTPPROXY"
  fi
  if [ -n ${HTTPSPROXY+x} ]; then
    PROXYENV="$PROXYENV --engine-env HTTPSPROXY=$HTTPSPROXY"
  fi
  if [ -n ${NOPROXY+x} ]; then
    PROXYENV="$PROXYENV --engine-env NOPROXY=$NOPROXY"
  fi
"${DOCKERMACHINE}" create -d virtualbox $PROXYENV "${VM}" fi
将最后第二行改为:

"${DOCKERMACHINE}" create -d virtualbox --virtualbox-no-vtx-check $PROXYENV "${VM}"

(5).可以正常使用Docker Quickstart Termial了。

windows下安装docker toolbox,搭建spring boot项目
(6).以后要用Docker,都要进入N0 Hyper-V 。

关于搭建spring boot项目,请看下篇文章https://mp.csdn.net/postedit/80313023。