win7下安装docker及搭建PHP+Nginx环境

1.下载

首先来到官网下载安装包

https://docs.docker.com/toolbox/overview/

win7下安装docker及搭建PHP+Nginx环境

下载后,得到如下.exe文件

win7下安装docker及搭建PHP+Nginx环境

2.安装

双击DockerToolbox.exe,点击Next,选择安装路径,开始安装。

下面的组件建议全部勾选,如果已经安装过VirtualBox和Git的可以不勾选。

win7下安装docker及搭建PHP+Nginx环境

Next下一步,注意添加到环境变量,如果没有选,安装后要把安装路径添加到环境变量。

win7下安装docker及搭建PHP+Nginx环境

Next下一步,一路默认,直到安装完毕。

完成安装后可在桌面看到如下3个图标:

win7下安装docker及搭建PHP+Nginx环境

同时,在安装目录下会有一个boot2docker.iso文件,将其拷贝到C:\Users\Administrator\.docker\machine\cache目录下

win7下安装docker及搭建PHP+Nginx环境

3.使用

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

win7下安装docker及搭建PHP+Nginx环境

解决方法:

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

win7下安装docker及搭建PHP+Nginx环境

界面中出现的IP【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip地址,这个在后面会用到。

使用xshell连接登录虚拟机:

win7下安装docker及搭建PHP+Nginx环境

默认的用户名是:docker,密码是:tcuser,填写完成后,登录。登录成功界面如下图:

win7下安装docker及搭建PHP+Nginx环境

4.安装PHP镜像

通过docker search php查找PHP镜像,通过docker pull 镜像名/镜像ID 拉取镜像,我选择的是PHP5.6,如下:

win7下安装docker及搭建PHP+Nginx环境

输入docker images查看已安装的镜像:

win7下安装docker及搭建PHP+Nginx环境

启动PHP,创建PHP容器:

docker run -d -p 9000:9000 -v /WWW:/var/www/html --name myphp56 php:5.6-fpm

以上命令中:

-d表示后台运行

-p表示将宿主机端口映射到本机端口

-v表示目录挂载 将宿主机目录挂载到容器目录

--name 指定容器名称

后面指定创建容器使用的镜像。

容器状态变更:

启动容器:docker start 容器名/容器ID

停止容器:docker stop 容器名/容器ID

重启容器:docker restart 容器名/容器ID

删除容器:docker rm 容器名/容器ID

删除镜像:docker rmi 镜像名/镜像id

5.安装Nginx镜像

docker pull nginx:1.10.3

docker run -d -p 8080:80 -v /WWW:/var/www/html --name nginx nginx:1.10.3

挂载目录必须与PHP挂载目录一致。

安装完了之后,查看所有的镜像和容器:

docker images

docker ps -a

win7下安装docker及搭建PHP+Nginx环境

修改nginx的相关配置

在容器中是没有vim命令的,所以不能在容器中直接修改配置文件。所以我们必须通过变通的方式去解决这个问题,否则只能在每个容器中安装vim。

首先登录到对应的容器中,查看配置信息路径,这在之后修改时会用到。

进入容器:docker exec -ti nginx /bin/bash

-i : --interactive,交互模式。

-t : --tty,开启一个伪终端。

/bin/bash : 必须写,否则会报错。这是开始伪终端时,进入bash界面,也就是命令行界面。

win7下安装docker及搭建PHP+Nginx环境

 

nginx的配置文件在/etc/nginx/conf.d/default.conf,退出容器Ctrl+Shift+p+q,返回docker。

 

将容器配置文件复制到本地:

win7下安装docker及搭建PHP+Nginx环境

修改的default.conf文件如下:

win7下安装docker及搭建PHP+Nginx环境

改过之后再复制到容器内,完成修改:

win7下安装docker及搭建PHP+Nginx环境

命令中要指定将文件复制到哪个容器(此处是nginx容器)。

进入Nginx容器,重启Nginx服务:

docker exec -it nginx bash

service nginx reload

win7下安装docker及搭建PHP+Nginx环境

重启成功后,在映射的目录下创建index.php文件,输出“Hello World”,保存文件。在浏览器中输入http://192.168.99.100:8080/index.php

win7下安装docker及搭建PHP+Nginx环境

运行成功!

Redis、mysql等可根据需求自行安装。