Docker怎么搭建Laravel本地环境

发布时间:2022-05-25 11:21:58 作者:iii
来源:亿速云 阅读:193

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开发环境。

推荐阅读:
  1. 怎样搭建本地docker repo?
  2. 利用Docker搭建本地https环境的完整步骤

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

docker laravel

上一篇:docker容器中怎么捕获信号

下一篇:Docker如何运行Microsoft SQL Server 2017

相关阅读

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

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