准备
首先确保安装了docker和docker-compose
推荐使用Portainer进行可视化的操作和查看
安装和配置Laradock
创建一个目录来存放项目
$ mkdir dnmp && cd dnmp
在保证docker能正常运行后,进行安装Laradock
$ git clone https://github.com/Laradock/laradock.git
安装完成后,进入该目录并且将env-example 复制命名为 .env
$ cd laradock
$ cp env-example .env
我们的配置都在.env里面,默认mysql版本是最新版也就是8.0,我们进去里面将mysql版本改成5.7
不需要修改则跳过这一步
.
.
# 本机项目存放的目录,默认是和laradock同级,视个人情况修改
APP_CODE_PATH_HOST=../
# 容器中存放项目的目录,是会和本机项目的目录建立起软链接
APP_CODE_PATH_CONTAINER=/var/www
# 存放数据的目录
DATA_PATH_HOST=~/.laradock/data
.
.
# 将原本的latest删除,修改mysql版本为5.7
- MYSQL_VERSION=latest
+ MYSQL_VERSION=5.7
.
.
nginx,mysql,redis等端口和账号密码根据项目情况自行在..env中修改
更改完自己的项目配置后,运行docker-compose构建容器
$ docker-compose up -d nginx mysql phpmyadmin redis beanstalkd
由于Laradock中的软件源并没有为国内做优化,都是默认在国外的。所以构造速度视网络情况,如果比较慢可以只构建基本的nginx和mysql,它们会自动构建php-fpm 和 workspace这两个两个容器,后续需要什么服务等要用到时候再去构建。如果特别的慢可以去找下Laradock国内修改版的。
创建项目
构建完成后,在laradock同级目录下创建一个laravel的项目叫myproject
$ composer create-project --prefer-dist laravel/laravel myproject
如果composer安装速度太慢请更换composer源为国内镜像
创建完成后,此时的目录结构为
|- dnmp
+ laradock
+ myproject
现在打开http://localhost项目返回404,需要配置nginx。
进去laradock下的nginx/sites下复制出laravel.conf来更改配置
$ cd laradock/nginx/sites
$ cp laravel.conf.example laravel.conf
$ vim laravel.conf
将域名和路径改下
.
.
server_name myproject.test;
root /var/www/myproject/public;
.
.
修改完后重启laradock_nginx,也就是重启nginx
$ docker restart laradock_nginx_1
重启成功后,编辑hosts
$ sudo vim /etc/hosts
新增需要解析的网站,将0.0.0.0和之前设定的域名关联
.
.
0.0.0.0 myproject.test
.
.
修改完后浏览器打开http://myproject.test就可以访问了