0

0

laravel如何使用Docker进行本地环境搭建_Laravel Docker本地环境搭建教程

下次还敢

下次还敢

发布时间:2025-10-04 11:15:02

|

355人浏览过

|

来源于php中文网

原创

使用Docker搭建Laravel开发环境可避免本地依赖问题。1. 安装Docker及Compose并验证;2. 用Composer创建Laravel项目;3. 创建docker-compose.yml定义Nginx、PHP-FPM、MySQL服务;4. 编写Dockerfile构建PHP镜像;5. 配置Nginx的default.conf;6. 启动容器并执行composer install、key:generate、migrate;7. 浏览器访问localhost:8080查看页面。热更新支持修改代码即时生效,权限问题可通过chown命令解决。该方案提升团队环境一致性与开发效率。

laravel如何使用docker进行本地环境搭建_laravel docker本地环境搭建教程

使用 Docker 搭建 Laravel 本地开发环境,可以快速统一团队开发环境,避免“在我机器上能跑”的问题。整个过程不需要在本地安装 PHP、Nginx、MySQL 等服务,所有依赖都运行在容器中。

Docker 环境准备

确保你的系统已安装以下工具:

  • Docker Desktop(Windows/macOS)或 Docker Engine(Linux)
  • Docker Compose(新版 Docker Desktop 已集成)

安装完成后,在终端运行 docker --versiondocker-compose --version 验证是否正常。

创建 Laravel 项目并配置 Docker

你可以使用 Composer 创建新项目,也可以将 Docker 加入已有项目。

composer create-project laravel/laravel myapp

进入项目目录:

cd myapp

在项目根目录创建以下文件:

1. docker-compose.yml

定义 Nginx、PHP-FPM、MySQL 容器:

version: '3'
services:
  nginx:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - .:/var/www/html
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
  php:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/var/www/html
    environment:
      - "DB_HOST=mysql"
      - "DB_PORT=3306"
      - "DB_DATABASE=laravel"
      - "DB_USERNAME=root"
      - "DB_PASSWORD=password"
  mysql:
    image: mysql:8.0
    environment:
      - "MYSQL_ROOT_PASSWORD=password"
      - "MYSQL_DATABASE=laravel"
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:

2. Dockerfile

用于构建 PHP 镜像:

FROM php:8.1-fpm

RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip

RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

WORKDIR /var/www/html

3. nginx/default.conf

创建目录 nginx 并添加配置文件:

server {
    listen 80;
    index index.php index.html;
    root /var/www/html/public;
    server_name localhost;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

启动容器并安装依赖

执行命令启动服务:

一点PPT
一点PPT

一句话生成专业PPT,AI自动排版配图

下载
docker-compose up -d

首次运行会构建镜像并启动容器。等待完成后,进入 PHP 容器安装 Laravel 依赖:

docker-compose exec php composer install

生成应用密钥:

docker-compose exec php php artisan key:generate

数据库迁移:

docker-compose exec php php artisan migrate

访问 Laravel 应用

打开浏览器访问:https://www.php.cn/link/cbb686245ece57c9827c4bc0d0654a8e

你应该能看到 Laravel 的欢迎页面。

常见问题处理

如果遇到权限问题(如日志无法写入),可在容器内执行:

docker-compose exec php chown -R www-data:www-data storage bootstrap/cache

修改代码后无需重启容器,热更新立即生效(除非修改了 Dockerfile 或 docker-compose.yml)。

基本上就这些。Docker 搭建 Laravel 环境并不复杂,但能极大提升开发效率和一致性。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

340

2024.04.09

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

293

2024.04.09

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

773

2024.04.09

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

385

2024.04.10

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

141

2025.08.05

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

85

2025.08.05

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

80

2025.08.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

561

2026.03.04

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2.5万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 850人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号