利用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来做教程

我这里使用的是


image.png

17.06.2-ce 的社区版本

工作流程参照这个图片


image.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文件夹
不是会出现

image.png
image.png

运行artisan命令行

artisan命令行的运行方式和运行composer命令行的方法相似:

docker run --privileged=true --volumes-from myapp-data --rm rainbowmorel/artisan

如果觉得这个命令很长的话,可以比较 ~/.bashrc 文件下添加 alias

image.png

保存后 记得source .bashrc一下

image.png

现在输入mycomposer一下


image.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
image.png

看到这两个就可以了
就是你平时的操作:注意的是 这里运行的mycomposer 映射的是 容器的/data/www文件下

mycomposer create-project laravel/laravel /data/www --prefer-dist
image.png

后面的就是进去 nginx 配置一下

image.png
image.png

然后


image.png

然后

image.png

如果 发现 403 因为我们还没有给 那就给 www 来个 777 权限
后记 如果有新的项目 重复上面四个步骤就好了.

推荐阅读更多精彩内容