文章目录
前言
因为自己折腾了好几天,看了不少参考资料,总算成功,但是想来实际上可以傻瓜式安装,于是写了这个教程并提傻瓜式安装资源,把整个过程详细写出来,同时一些坑也尽量注明。
因为是傻瓜式教程,可能其中一些操作的原因你不太明白,但是没关系,等你后续慢慢测试就知道其中的问题和解决办法了,先解决问题再说!
主要参考了windows7+docker搭建nginx和php-fpm环境(官方镜像)这篇文章,非常感谢原作者的辛苦劳动!
一、Win7下docker的安装
首先下载DockerToolbox(百度云下载地址:链接: https://pan.baidu.com/s/1EHI5Kkx6RVnrcUdeSSbZnQ 提取码: 5w2d)直接点击左边的文件名即可进入百度云下载,里面有个WinDocker目录,里面包含本次所有操作需要的文件。
直接傻瓜式安装即可,最好不要更改安装目录,个人建议,避免未知问题,可以等一切正常了以后再测试安装到其他目录。
除了上面这个页面中的Help Docker improve Toolbox的勾选可以去掉之外,其他选项不要做任何,全部默认安装。
直到出现这个选项,勾选“始终信任来自“Oracle Corporation”的软件”。
这时候桌面会出现三个图标,如下图所示。
为了简化使用,我直接把中间的操作都写成批处理了,下载我已经编写好的批处理mybats.rar,将它们解压到C:\Program Files\Docker Toolbox,也就是Docker Toolbox的安装目录,结构如下图:
如果你的用户名是Administrator则直接运行copy.bat即可,如果不是,请修改第2行和第3行的Administrator为你的用户名,然后再运行copy.bat。
如果没有出现错误,则会出现如下图的结果,如果有错误,请先检查修改是否正确。
关闭上面的窗口,点击桌面上的Docker Quickstart Terminal这个图标:
如果出现下面的错误,则说明你没有打开虚拟化,需要在BIOS中打开虚拟化,具体打开虚拟化的办法还请结合自己的电脑搜索一下。
打开虚拟化之后,应该出现以下窗口。
至此docker的安装和启动已经完成,上面显示了一个IP地址192.168.99.100,这个IP其实不需要,但是后文会提到,接下如何使用镜像加速和安装库才是重头戏。
注意,若你启动Docker Quickstart Terminal,终端上提示说“iso...out of date”,仍然去github下载新版,而你又不打算用最新版,则可以先断开网络,然后再启动Docker Quickstart Terminal,然后在出现waiting for an IP的时候,连接网络,这样就可以跳过使用最新版了,而且一旦docker所在的虚拟机启动成功,下次再次运行Docker Quickstart Terminal也不会出现“iso...out of date”的提示了!
二、使用步骤
1.准备工作
下载库之前,必须使用镜像加速,不然几十兆的东西几个小时都可能下载不完,谁用谁知道,我们先做一点准备工作。
先运行xnj.bat,进入虚拟机,如下图。
然后输入mount,查看挂载的共享目录,如果出现 C/Users则说明共享正常,否则共享不正常,你需要更新文件boot2docker.iso才可以,我这里提供了下载,在里面的WinDocker里面找到文件,然后下载,替换C:\Program Files\Docker Toolbox下的同名文件,删除C:\Users\Administrator\.docker整个文件夹,然后重新执行copy.bat 按照上面的操作进行。
直到看到如下画面:
我个人在此处遇到一些问题,浪费了不少时间,因为第一次使用了在线的iso镜像所以没问题,后面复现的时候使用老版本的iso镜像却出现了问题,一直没找到原因,直到写这篇文章的时候才发现,经过验证,更新iso镜像可以解决问题。
2.加入虚拟机共享
运行桌面上的Oracle VM VirtualBox快捷方式,启动虚拟机管理器,看到default虚拟机正在运行。
使用我给的MyData.rar,直接解压到D盘根目录即可。
然后添加到虚拟机共享,如下图按照箭头的顺序依次点击,注意共享文件名全部是小写d/mydata。
回到终端窗口,输入命令重启虚拟机。
sudo shutdown -r now
重启之后,再次输入xnj.bat 回车 然后mount回车,确认共享成功。
3.镜像加速,下载php和nginx
接着上面,输入
ls /d/mydata
确实daemon.json存在,这个文件是为了使用阿里云镜像加速下载,不然真的是超级慢。
接下来 将这个文件拷贝到/etc/docker目录
输入命令
sudo cp /d/mydata/daemon.json /etc/docker
ls /etc/docker
sudo shutdown -r now
拷贝成功之后,开始下载php库和nginx库。
pd.bat
nd.bat
不出意外的话,速度飞快,下载完成!
4.运行php和nginx
输入命令,p.bat 和n.bat 启动完成!
此时在电脑里面输入192.168.99.100:8080已经可以访问了,这个ip是前文步骤一中docker的安装和启动完成之后显示的ip,可能会有所不同!
剩下的工作,就是让局域网的电脑也可以访问这个网页了,只需要进行端口转发即可。
5.端口转发
设置端口转发,即可在局域网中直接访问网站了,注意可能需要关闭防火墙!
其中192.168.0.92为本机IP,这里也折腾了好一会儿,主要是IP不可以为127.0.0.1,还有防火墙和杀毒软件最好都先关闭,测试完成了再逐个开启排除!
此时,在同一局域网的电脑上输入192.168.0.92即可正常访问本机了,而输入http://192.168.0.92/dir/则会有惊喜。
总结
总的来说,就是需要耐心解决问题,实际可能会遇到各种错误,但是没关系,逐个排除,有时间我再讲一下各个命令和压缩包里的内容,暂时先这样用着就好了。