Laravel环境搭建

搭建

  • docker运行项目容器
    docker run -d -p 80:80 --name xxx_admin -v /apps/xxx_admin:/var/www/html/app luffy94608/php_nginx:php7.1

  • 进入docker容器bash
    docker exec -it xxx_admin bash

  • 运行composer install
  • 配置.env database

常见问题

  • 当.env文件中 DB_HOST = 127.0.0.1 时,连接mysql失败,改为 mysql 容器名称时连接成功
1
2
3
4
5
6
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 (mysql - works fine with docker mysql containers)
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root

因为 php-fpm containermysql container不在同一个容器中,因此127.0.0.1localhost 不能连接,可以使用 mysql container的IP 或直接使用容器名即可。

docker

获取docker 容器内网IP
docker inspect container_id | grep IPAddress

参考文档

Docker 从入门到实践