本文使用的是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文件夹
不是会出现
运行artisan命令行
artisan命令行的运行方式和运行composer命令行的方法相似:
docker run --privileged=true --volumes-from myapp-data --rm rainbowmorel/artisan
如果觉得这个命令很长的话,可以比较 ~/.bashrc 文件下添加 alias
image.png保存后 记得source .bashrc
一下
现在输入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 权限
后记 如果有新的项目 重复上面四个步骤就好了.
网友评论