使用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 --version 和 docker-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.php.cn/link/cbb686245ece57c9827c4bc0d0654a8e
你应该能看到 Laravel 的欢迎页面。
常见问题处理
如果遇到权限问题(如日志无法写入),可在容器内执行:
docker-compose exec php chown -R www-data:www-data storage bootstrap/cache
修改代码后无需重启容器,热更新立即生效(除非修改了 Dockerfile 或 docker-compose.yml)。
基本上就这些。Docker 搭建 Laravel 环境并不复杂,但能极大提升开发效率和一致性。
以上就是laravel如何使用Docker进行本地环境搭建_Laravel Docker本地环境搭建教程的详细内容,更多请关注php中文网其它相关文章!