debian

Debian上Laravel如何使用Docker

小樊
53
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
看了该问题的人还看了