当前位置: 欣欣网 > 码农

Laradock 一个完整PHP的Docker本地开发环境

2024-06-23码农

介绍

Laradock 是为 PHP 提供的完整 Docker 本地开发环境,有助于在 Docker 上运行 PHP 应用程序,和 Homestead 一样提供了一系列打包好(包括配置)的 Docker Image。

Laradock 早期专注为 Laravel 打造 Docker 开发环境,因而最早在 Laravel 社区中出名,后来随着影响力的扩大,逐渐被 PHP 社区接纳和采用,目前支持的 PHP 项目除了 Laravel 之外,还有 Symfony、CodeIgniter、WordPress、Drupal 等等。

功能特性

  • 可在各 PHP 版本之间轻松切换:8.3,8.2,8.1,7.4,7.3,7.2,7.1,5.6 ...

  • 可选择你最喜欢的数据库引擎:MySQL,Postgres,MariaDB ......

  • 可运行专属的软件组合:Memcached,HHVM,Beanstalkd ...

  • 每个软件都在单独的容器上运行:PHP-FPM,NGINX,PHP-CLI ...

  • 易于定制,只需简单编辑 Dockerfile 即可

  • 所有镜像均从官方基础镜像扩展而来,安全可靠

  • 易于使用环境变量安装 / 删除容器中的软件

  • 简洁、结构良好的 Dockerfiles(Dockerfile)

  • 一切都是可见的和可编辑的

  • 使用

    composer create-project laravel/laravel Tinywan-app "5.2.*"

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

    进入到 laradock

    cd laradock/

    目录结构

    cp .env.example .env

    然后在 .env 中修改镜像构建过程中 Linux 软件源为国内镜像以免镜像构建过程中出现网络超时问题:

    # If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
    CHANGE_SOURCE=true

    运行这些容器

    docker-compose up -d nginx mysql redis

    nginx 镜像构建在 php-fpm 之上, php-fpm 构建在 workspace 之上,所以启动 nginx 会先启动 workspace php-fpm

    如果指定端口已经被占用,运行上述命令会报错,关闭相应的服务再重新运行上述命令即可。

    打开 Laravel 项目的 .env 文件并添加如下配置:

    DB_HOST=mysql
    REDIS_HOST=redis
    QUEUE_HOST=beanstalkd

    打开浏览器,访问 localhost