基于Laradock在Docker构建Laravel应用

Posted by Chase Shen on 2021-09-10
Estimated Reading Time 2 Minutes
Words 656 In Total
Viewed Times

Laradock 是为 Docker 提供的完整 PHP 本地开发环境,和 Homestead 一样提供了一系列打包好(包括配置)的 Docker Image。Laradock 早期专注为 Laravel 打造 Docker 开发环境,因而最早在 Laravel 社区中出名,后来随着影响力的扩大,逐渐被 PHP 社区接纳和采用,目前支持的 PHP 项目除了 Laravel 之外,还有 Symfony、CodeIgniter、WordPress、Drupal 等等。

环境搭建

下面我们进入实战,开始基于Laradock在本地安装开发环境。

依赖

  • Git
  • Docker

安装Laradock

克隆Github仓库到本地:

git clone https://github.com/LaraDock/laradock.git

配置文件

进入Laradock目录,将原始配置文件env-example复制一份并命名为.env:

cp env-example .env

APP_CODE_PATH_HOST参数对应主机上的项目目录,其他需要注意的参数比如PHP_VERSIONPHP版本设置等。

运行容器

docker-compose up -d nginx mysql
可以从以下列表选择你自己的容器组合:
nginx, hhvm, php-fpm, mysql, redis, postgres, mariadb, neo4j, mongo, apache2, caddy, memcached, beanstalkd, beanstalkd-console, workspace

注:workspace 和 php-fpm 将运行在大部分实例中, 所以不需要在 up 命令中加上它们。

测试是否安装完成

打开浏览器输入localhost

http://localhost

多个项目设置

完成上述步骤安装成功后,我们来设置项目。
您的文件夹结构应如下所示:

1
2
3
+ laradock
+ project-1
+ project-2
  1. 进入nginx/sites目录
    在访问不同的域时,转到laradock/nginx/sites 并创建配置文件以指向不同的项目目录。Laradock默认包含app.conf.example,laravel.conf.example 和symfony.conf.example 作为工作示例。

  2. 更改默认名称 *.conf
    您可以根据需要重命名配置文件,项目文件夹和域,只需确保配置文件中的 root 指向正确的项目文件夹名称即可。

  3. 将域添加到 hosts 文件

1
2
3
127.0.0.1  project-1.test
127.0.0.1 project-2.test
...

进入容器(在正在运行的容器中运行命令)

  1. 首先docker ps查看正在运行的容器;

  2. 进入任何容器:
    docker-compose exec {container-name} bash

例如,进入mysql容器:
docker-compose exec mysql bash

  1. 退出容器
    输入exit

从Docker容器安装Laravel

  1. 首先,您需要进入工作区容器
    以laradock用户身份进入workspace容器:
    docker-compose exec -u laradock workspace bash

  2. 安装 Laravel
    进入容器后,执行以下命令安装Laravel:
    composer create-project laravel/laravel project-name "5.5.*"
    后两个参数分别是自己的项目名称和laravel版本号。

重启容器

当我们修改了容器的配置,比如修改了nginx的.conf文件,需要重启nginx
docker-compose restart nginx


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !