【问题标题】:Why my dockerfile for my laravel app doesn't work?为什么我的 laravel 应用程序的 dockerfile 不起作用?
【发布时间】:2020-11-13 08:49:50
【问题描述】:

我尝试构建 Laravel 应用程序,但在尝试构建 docker 映像时出现错误

我的 docker 文件:

FROM php:7.3-fpm

COPY composer.lock composer.json /var/www/

COPY database /var/www/database

WORKDIR /var/www

RUN apt-get update && apt-get -y install git && apt-get -y install zip

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
    && php -r "if (hash_file('SHA384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
    && php composer-setup.php \
    && php -r "unlink('composer-setup.php');" \
    && php composer.phar install --no-dev --no-scripts \
    && rm composer.phar

COPY . /var/www

RUN chown -R www-data:www-data \
        /var/www/storage \
        /var/www/bootstrap/cache

RUN  apt-get install -y libmcrypt-dev \
        libmagickwand-dev --no-install-recommends \
        && pecl install mcrypt-1.0.2 \
        && docker-php-ext-install pdo_mysql \
        && docker-php-ext-enable mcrypt

RUN mv .env.prod .env

RUN php artisan optimize

还有我的错误屏幕:

感谢您的帮助

【问题讨论】:

标签: php laravel docker dockerfile


【解决方案1】:

从您的错误详情中,您可以看到缺少一些扩展:

  1. ext-gd
  2. ext-ldap

您必须像使用 PDO 一样在 docker 映像中安装这些扩展。您可以通过docker-php-ext-installdocker-php-ext-enable 实现这一目标。

这些扩展可能需要您在之前使用apt-get install XXX进行一些软件包安装

【讨论】:

  • 您还必须在 ext-install 块之后移动您的作曲家块。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多