如何用docker安装laravel开发环境
看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但是我想现在既然有 docker这么好的东西,为什么不用呢?
Docker vs Vagrant
为什么使用Docker而不是Vagrant:从时间上来看,Vagrant提供虚拟机需要数分钟,而Docker只需数秒;此外,从体量上来看,Vagrant提供的是完整的虚拟机,而Docker提供的是轻量级的虚拟容器,这些虚拟容器共享同一个内核并且允许在独立进程中运行。
环境搭建步骤如下:
1.首先从Docker hub 下载laraedit-docker 镜像
docker pull laraedit/laraedit
2.通过docker命令建立laravel目录
docker run --name laravel -p 8088:80 -v /Users/berylqliu/Workspace/laravelTest:/var/www/html/app laraedit/laraedit
参数说明:
- --name:启动的服务名称
- -p: 端口映射,本机8088端口映射容器80端口
- -v: 目录挂载,本机目录:容器目录
- -d: 如果加上这个参数表示后台启动服务
laraedit 预设将 80, 443, 3306, 6379 port 开放出來,所以如果外部要直接存取,请使用-p参数设定。
3.启动docker shell
docker exec -it laravel /bin/bash
其中laravel就是上面--name指定的,在docker shell下,可以操作数据库等。
4.在容器里面创建一个应用,注意和挂载目录一致
cd /var/www/html/
laravel new app
或者:
cd /var/www/html/app/
laravel new blog
再把blog目录下面的文件移动到app目录下面去,把 blog目录删掉,其实只要注意和挂载目录映射一致就可以了
5.如果容器退出了,启动容器:
docker start laravel
下次启动docker shell的命令:
docker exec -it -v /Users/berylqliu/Workspace/laravelTest:/var/www/html/app laravel /bin/bash
然后就可以在http://localhost:8088/ 看见Laravel首页啦!其他相关docker命令可以自行学习。