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
特别注意,其中mysql默认为最新版本,可以通过.env中MYSQL_VERSION更改mysql版本。若之前安装了8.0以上版本,想装回5.7,再次启动mysql会闪退,解决方案如下:
docker run -d --name mysql -v mysql-data:/var/lib/mysql5.7 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql:5.7
其中-e为设置mysql默认密码(当然尝试8.0以上的版本也是极好的)
4. 运行容器:
docker-compose up -d nginx mysql redis beanstalkd
(若nginx启动失败,多半是因为80端口被占用(Mac可以关闭本机的阿帕奇),修改.env中的nginx配置,可以将端口改成8888)
5.进入容器
docker-compose exec —user=laradock workspace bash
- 建议不要采用root进入,因为composer不推荐
- 安装laravel
-
composer create-project laravel/laravel demo --prefer-dist "5.5.*"
6.hosts配置
hosts中配置与nginx.conf中保持一致
7.修改laravel配置
cp laravel.conf.example laravel.conf
此处的映射目录为workspace中的目录
8.重启nginx
docker-compose restart nginx
9.配置完laravel的env,访问mydemo.com:8888即可出现laravel的欢迎页面
10.宿主机连接docker容器中的mysql,需要开启外网访问权限,切记root不可以!深坑~~~需新建账号,并分配权限
具体操作不再赘述,有需要留言。
11.如何配置多个web项目呢?
cd /nginx/sites
cp laravel.conf.example [your project name or your like name]
像正常一样配置你想访问的项目目录,就ok了-。-(不要改80端口,宿主机80端口和443端口做转发)