信息发布→ 登录 注册 退出

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

发布时间:2025-10-04

点击量:
使用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命令解决。该方案提升团队环境一致性与开发效率。

使用 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;
    }
}

启动容器并安装依赖

执行命令启动服务:

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./link/cbb686245ece57c9827c4bc0d0654a8e

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

常见问题处理

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

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

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

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

标签:# location  # 可通过  # 不需  # 你应该  # 可在  # 要在  # 已有  # 首次  # 你可以  # 在我  # 镜像  # https  # http  # 数据库  # macos  # windows  # mysql  # default  # var  # public  # cURL  # include  # nginx  # composer  # docker  # git  # bootstrap  # html  # laravel  # word  # linux  # php  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!