温馨提示×

Debian上Laravel如何使用Docker

小樊
50
2025-09-05 08:14:28
栏目: 智能运维

在Debian上使用Docker运行Laravel应用程序,你需要遵循以下步骤:

  1. 安装Docker

首先,确保你已经在Debian系统上安装了Docker。如果还没有安装,可以通过以下命令安装:

sudo apt update sudo apt install docker.io 
  1. 创建Dockerfile

在你的Laravel项目根目录中创建一个名为Dockerfile的文件。这个文件将包含构建Laravel应用程序所需的所有指令。以下是一个基本的Laravel Dockerfile示例:

# 使用官方PHP镜像作为基础镜像 FROM php:7.4-fpm # 安装必要的扩展 RUN docker-php-ext-install pdo_mysql mbstring xml zip exif pcntl # 安装Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # 将应用程序代码复制到容器中 COPY . /var/www/html # 更改工作目录 WORKDIR /var/www/html # 安装依赖项 RUN composer install --no-interaction --prefer-dist --optimize-autoloader # 设置文件权限 RUN chown -R www-data:www-data /var/www/html # 暴露端口 EXPOSE 9000 # 启动PHP-FPM服务 CMD ["php-fpm"] 
  1. 创建.dockerignore文件

为了防止将不必要的文件复制到Docker容器中,你需要创建一个.dockerignore文件。在这个文件中,列出所有不需要复制到容器的文件和目录。例如:

/node_modules /vendor /.env /.git 
  1. 构建Docker镜像

在项目根目录中运行以下命令,以构建Docker镜像:

docker build -t laravel-app . 
  1. 运行Docker容器

使用以下命令运行一个新的Docker容器,并将其连接到你的Laravel应用程序:

docker run -d --name laravel-container -p 9000:9000 -v $(pwd):/var/www/html laravel-app 

这将启动一个名为laravel-container的新容器,并将主机的9000端口映射到容器的9000端口。

  1. 配置Nginx

为了让Nginx处理Laravel应用程序的请求,你需要配置Nginx。创建一个新的Nginx配置文件,或者在现有的配置文件中添加以下内容:

server { listen 80; server_name example.com; # 替换为你的域名或公网IP地址 root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass laravel-container:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 

将此配置文件链接到Nginx的sites-available目录,并创建一个符号链接到sites-enabled目录。然后,重启Nginx服务以应用更改。

  1. 访问Laravel应用程序

现在,你应该能够通过浏览器访问你的Laravel应用程序了。在浏览器中输入你的域名或公网IP地址,你应该能看到Laravel应用程序的欢迎页面。

这就是在Debian上使用Docker运行Laravel应用程序的基本步骤。你可以根据自己的需求对Dockerfile、.dockerignore文件和Nginx配置进行修改。

0