温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker怎么搭建Laravel本地环境

发布时间:2022-05-25 11:21:58 来源:亿速云 阅读:217 作者:iii 栏目:大数据

Docker怎么搭建Laravel本地环境

在现代Web开发中,Laravel是一个非常流行的PHP框架,而Docker则是一个强大的容器化工具,可以帮助开发者快速搭建和配置开发环境。本文将详细介绍如何使用Docker搭建Laravel的本地开发环境。

1. 准备工作

在开始之前,确保你的系统已经安装了Docker和Docker Compose。如果还没有安装,可以参考以下步骤:

1.1 安装Docker

 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io 

1.2 安装Docker Compose

Docker Compose通常与Docker一起安装。如果没有安装,可以使用以下命令:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 

2. 创建Laravel项目

首先,我们需要创建一个新的Laravel项目。你可以使用Composer来创建项目:

composer create-project --prefer-dist laravel/laravel my-laravel-app 

这将创建一个名为my-laravel-app的Laravel项目。

3. 配置Docker环境

接下来,我们需要为Laravel项目配置Docker环境。我们将使用Docker Compose来定义和运行多个容器。

3.1 创建docker-compose.yml文件

在项目的根目录下创建一个名为docker-compose.yml的文件,并添加以下内容:

version: '3.8' services: app: image: php:8.0-fpm container_name: laravel_app restart: unless-stopped working_dir: /var/www/html volumes: - .:/var/www/html networks: - laravel_network webserver: image: nginx:alpine container_name: laravel_webserver restart: unless-stopped ports: - "8080:80" volumes: - .:/var/www/html - ./docker/nginx:/etc/nginx/conf.d networks: - laravel_network depends_on: - app db: image: mysql:5.7 container_name: laravel_db restart: unless-stopped environment: MYSQL_DATABASE: laravel MYSQL_USER: laravel MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: secret volumes: - ./docker/mysql:/var/lib/mysql networks: - laravel_network redis: image: redis:alpine container_name: laravel_redis restart: unless-stopped ports: - "6379:6379" networks: - laravel_network networks: laravel_network: driver: bridge 

3.2 创建Nginx配置文件

在项目根目录下创建一个docker/nginx目录,并在其中创建一个名为default.conf的文件,内容如下:

server { listen 80; index index.php index.html; server_name localhost; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/html/public; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass app:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } } 

3.3 创建MySQL数据目录

在项目根目录下创建一个docker/mysql目录,用于存储MySQL的数据。

4. 启动Docker容器

现在,我们可以使用Docker Compose来启动所有容器:

docker-compose up -d 

这将启动四个容器:app(PHP-FPM)、webserver(Nginx)、db(MySQL)和redis(Redis)。

5. 配置Laravel环境

5.1 配置.env文件

在Laravel项目的根目录下,编辑.env文件,配置数据库连接:

DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=laravel DB_PASSWORD=secret 

5.2 运行数据库迁移

在容器中运行数据库迁移:

docker-compose exec app php artisan migrate 

6. 访问Laravel应用

现在,你可以通过浏览器访问http://localhost:8080来查看你的Laravel应用。

7. 停止和删除容器

当你完成开发后,可以使用以下命令停止和删除容器:

docker-compose down 

8. 总结

通过使用Docker和Docker Compose,我们可以轻松地搭建一个Laravel本地开发环境。这种方法不仅简化了环境配置过程,还确保了开发环境的一致性。希望本文能帮助你快速上手使用Docker搭建Laravel开发环境。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI