在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

  在Windows Server 2016 和2019系统中已经原生支持Docker部署了,支持的非常友好。但是在Windows Server 2012中就没那么友好了,连Docker Desktop 都不能直接安装。

只能通过DockerToolbox 虚拟机来使用Docker。首先点击下载好 DockerToolbox-19.03  ,下面开始踩坑之路。双击打开安装包如图,点下一步,下一步即可

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

 出现以下界面时,git一定要安装,后台执行初始华的时候,需要用到Git的Gitinash.exe,Docker Compose 可以去掉,除非你以后会装很多容器才会使用到。

Kitematic for windwos 这个是Docker操作界面需要保留。

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

然后下一步下一步,最后安装完了,桌面上会出现以下三个图标,第一个Oracle用不上,可以删除掉,保留后面两个。

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

 此时千万别直接打开Docker Quickstart Terminal运行,下面开始划重点。Docker Quickstart Terminal在首次启动时在后台会下载相关文件用来配置运行环境。

因为国内网络你懂得,会卡到你哭。此时打开以下目录,把boot2docker.iso文件复制到C:UsersAdministrator.dockermachinecache这个目录下。如果目录已经有了可以跳过。

注意,boot2docker.iso文件也可能会过期导致初始化时后台重新下载,最好手动用迅雷下载好一个最新版本的,替换旧文件,下最新版载链接 https://github.com/boot2docker/boot2docker/releases

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

 创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址,DOS下执行以下脚本

docker-machine create --engine-registry-mirror=https://xxxxx.mirror.aliyuncs.com -d virtualbox default
阿里云加速地址需要自己注册获取:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,执行脚本后如图等待一段时间配置完成。

 在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

  最后双击桌面上的Docker Quickstart Terminal 图标,就可以正常启动Docker了,到此Docker已经安装完成,下面我们开始安装Mysql镜像和容器,这里选择版本是mysql5.7。

Power Shell 执行 Docker pull mysql:5.7,等待镜像下载完成。

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

  创建mysql容器,执行以下脚本

docker run --restart=always --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1

这个脚本有点长,需要注意的是 -d mysql:5.7  这里一定要带上版本号,不然后台会重新下载一个mysql:least最新版本的镜像。下面这个参数也一定要加上

--lower_case_table_names=1

 这个参数非常重要,mysql在linux上的查询语句是区分大小写的,如果这里不加上,就需要使用vie工具修改,特别麻烦,我上一篇文章里有写到。

 下面我们看看创建好的容器,并进入mysql看看参数是否生效,如图:

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

 我们可以看到 lower_case_table_names 这个参数值已经修改成 1 了,系统默认是 0的。

 到此mysql安装完毕,你以为大功告成了吗?其实并没有,还差最后一个坑没有踩。这时用Navicat  for MySQL 客户端去连接,一般我们是这样的

 在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

 这时你会发现,根本无法连接,出现以下错误提示,不管你主机怎么改都不成功。网上各种说法都无法解决,没有把问题说到点子上。

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

 这是因为以前是使用Docker Desktop的惯用思维,之前安装后就可以直接使用了,但是因为DockerToolbox是通过虚拟机的方式来运行Docker的。

所以这里我们应该把主机改成虚拟机的IP地址就ok了,通过以下脚本查看虚拟机的ip

docker-machine.exe ip

在Windows Server2012中通过DockerToolbox 一步一步搭建Mysql 数据库存运行环境

 把连接主机的IP改成以上IP就大功告成了。