[英]Why my dockerfile for my laravel app doesn't work?
我尝试构建一个 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
以及我的错误屏幕:
谢谢您的帮助
从您的错误详细信息中,您可以看到缺少一些扩展名:
您必须像使用 PDO 一样在 docker 映像中安装这些扩展。您可以使用 docker docker-php-ext-install
和docker-php-ext-enable
。
这些扩展可能需要您先使用apt-get install XXX
进行一些 package 安装
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.