Laradock 使用笔记
记录使用Laradock 的过程
前置条件:已安装docker
本机环境:mac os 10.13.3 (17D47),Docker version 17.12.0-ce, build c97c6d6
一、安装
1. git clone https://github.com/Laradock/laradock.git laradock
2. 进入 laradock 目录将 env-example 重命名为 .env:
cd laradock
cp env-example .env
3. 打开 .env 添加
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
4. 运行容器:
docker-compose up -d nginx mysql redis beanstalkd
5. 添加代码目录:
在 laradock 父级目录下创建一个与 laradock 同级的 code 目录(名字随意),然后编辑 .env 中的 APPLICATION 配置项,与新建的目录名保持一致。这个意思就是,与laradock同级的code
目录,与虚拟容器中的/var/www/
目录关联,所有code目录下的文件,都会共享在容器中的/var/www/
目录下。
APPLICATION=../code/
二、调整配置
(一)nginx 多域名
1. 确认nginx成功启动
可以在code目录下新建www目录,然后添加index.php文件,里面输出php信息。
<?php
echo phpinfo();
然后修改nginx默认配置,laradock/nginx/sites/default.conf
。
server_name localhost;
root /var/www/www;
index index.php index.html index.htm;
最后重启nginx。
docker-compose restart nginx
访问http://localhost
,如果出现php配置信息,说明成功了。否则尝试先docker-compose up -d nginx
,再docker-compose restart nginx
。
2. 添加多域名
在之前与laradock目录同级的code目录下,添加blog目录。里面随意新建几个文件,如blog.php
<?php
echo 'blog';
然后开始配置域名信息
cd laradock/nginx/sites/
cp laravel.conf.example blog.conf
编辑blog.conf
,其实等同于普通的nginx配置文件,可以配置log日志、域名、开启目录浏览等。这里我先配置域名,并开启目录浏览。
server_name blog.local;
root /var/www/blog/;
autoindex on;
在hosts里添加blog信息。
127.0.0.1 blog.local
再次重启nginx
docker-compose restart nginx
访问http://blog.local
,如果看见目录中有blog.php
,点进去后出现blog
,说明成功了。
(二) mysql 配置
账号密码在.env
中,可修改。
(三) composer
可以直接进入工作空间,进行composer安装
docker-compose exec workspace bash
(四) Laravel项目
.env
的配置信息
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=build
DB_USERNAME=root
DB_PASSWORD=root
如果DB_HOST
为127.0.0.1
,则会报错
SQLSTATE[HY000] [2002] Connection refused
如果DB_HOST
为localhost
,则会报错
SQLSTATE[HY000] [2002] No such file or directory
因为php容器里是没有mysql的
未完待续