利用docker快速搭建 laravel 环境
本文使用的是laravel 环境 也可以是一个 php环境 一样的。
最终搭建是一个 :nginx 1.3 + php 7.1 + composer + php-cli (artisan) 的环境
这里是本环境的Dokcerfile源码地址:https://github.com/rainbowMorelhahahah/docker-laravel.git
镜像已经上传到docker hub 官网网站中
正文:
1.准备工作
- docker [去阿里社区有教程]
- 设置中国源 http://blog.csdn.net/hyzhou33550336/article/details/58033405
PS:小编平时用的系统是ubuntu16.04 server,制作镜像的系统也是用ubuntu16.04,因为国内用的系统为centos所以本文也使用了centos 7.3来做教程
我这里使用的是
![](https://img.haomeiwen.com/i2487012/9329f6743f0da0aa.png)
17.06.2-ce 的社区版本
工作流程参照这个图片
![](https://img.haomeiwen.com/i2487012/3538854251262c37.png)
我们现在创建一个文件容器【如果分布式一个用服务器】
把本机的文件映射到docker容器中的/data文件下
docker run --name myapp-data -v /root/data:/data:rw -d rainbowmorel/data
运行composer命令行
通过如下的命令执行composer命令行:
docker run --privileged=true --volumes-from myapp-data --rm rainbowmorel/composer
PS:不过在运行前,记得在你本机映射的文件夹添加www文件夹
不是会出现
![](https://img.haomeiwen.com/i2487012/c865f0b62a753819.png)
![](https://img.haomeiwen.com/i2487012/8558c97c85e28860.png)
运行artisan命令行
artisan命令行的运行方式和运行composer命令行的方法相似:
docker run --privileged=true --volumes-from myapp-data --rm rainbowmorel/artisan
如果觉得这个命令很长的话,可以比较 ~/.bashrc 文件下添加 alias
![](https://img.haomeiwen.com/i2487012/a4bef61020e77748.png)
保存后 记得source .bashrc
一下
![](https://img.haomeiwen.com/i2487012/b47d8c18ca56c186.png)
现在输入mycomposer一下
![](https://img.haomeiwen.com/i2487012/9cbbc58fbdb5501a.png)
看到
下面开始 run 一下 PHP环境
docker run --name
docker run --name myapp-php --privileged=true --volumes-from myapp-data -d rainbowmorel/phpfpm7
下面是 run Nginx
docker run --name myapp-web --privileged=true --volumes-from myapp-data --link myapp-php:fpm -d -p 80:80 rainbowmorel/nginx
![](https://img.haomeiwen.com/i2487012/247cc6a43a6b3d7a.png)
看到这两个就可以了
就是你平时的操作:注意的是 这里运行的mycomposer 映射的是 容器的/data/www文件下
mycomposer create-project laravel/laravel /data/www --prefer-dist
![](https://img.haomeiwen.com/i2487012/8c421fb420fea4fa.png)
后面的就是进去 nginx 配置一下
![](https://img.haomeiwen.com/i2487012/d86adb1f695400ab.png)
![](https://img.haomeiwen.com/i2487012/a25654d3b3d74c23.png)
然后
![](https://img.haomeiwen.com/i2487012/7deeaf116eb0e749.png)
然后
![](https://img.haomeiwen.com/i2487012/4a78443a5d839ec3.png)
如果 发现 403 因为我们还没有给 那就给 www 来个 777 权限
后记 如果有新的项目 重复上面四个步骤就好了.