亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在docker容器中運行laravel時找不到autoload.php

在docker容器中運行laravel時找不到autoload.php

PHP
斯蒂芬大帝 2021-06-29 17:53:02
我正在嘗試在 docker 容器上運行 laravel。但是,我創建了一個 docker 文件來安裝所需的依賴項和擴展。然后,我創建了一個 docker-compose 文件來運行容器。但是,當使用docker-compose up以下錯誤運行容器時會出現:警告:要求(/var/www/vendor/autoload.php):無法打開流:第 18 行 main_system_1 | 上的 /var/www/artisan 中沒有這樣的文件或目錄 | main_system_1 | 致命錯誤:require():在第 18 行的 /var/www/artisan 中打開所需的 '/var/www/vendor/autoload.php' (include_path='.:/usr/local/lib/php') 失敗,已退出帶代碼 255Dockerfile:FROM php:alpine# Install dev dependenciesRUN apk add --no-cache --virtual .build-deps \    $PHPIZE_DEPS \    curl-dev \    imagemagick-dev \    libtool \    libxml2-dev \    postgresql-dev \    sqlite-dev# Install production dependenciesRUN apk add --no-cache \    bash \    curl \    g++ \    gcc \    git \    imagemagick \    libc-dev \    libpng-dev \    make \    mysql-client \    nodejs \    nodejs-npm \    yarn \    openssh-client \    postgresql-libs \    rsync \    zlib-dev \    libzip-dev# Install PECL and PEAR extensionsRUN pecl install \    imagick# Install and enable php extensionsRUN docker-php-ext-enable \    imagickRUN docker-php-ext-configure zip --with-libzipRUN docker-php-ext-install \    curl \    iconv \    mbstring \    pdo \    pdo_mysql \    pdo_pgsql \    pdo_sqlite \    pcntl \    tokenizer \    xml \    gd \    zip \    bcmath# Install composerENV COMPOSER_HOME /composerENV PATH ./vendor/bin:/composer/vendor/bin:$PATHENV COMPOSER_ALLOW_SUPERUSER 1RUN curl -s https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/ --filename=composer# Install PHP_CodeSnifferRUN composer global require "squizlabs/php_codesniffer=*"# Cleanup dev dependenciesRUN apk del -f .build-deps# Setup working directoryWORKDIR /var/wwwCOPY composer.json composer.json#COPY composer.lock composer.lockRUN composer install --no-autoloaderCOPY . .RUN composer dump-autoloadRUN php artisan key:generateRUN php artisan jwt:secretRUN chmod 777 -R storageCMD php artisan serve --host=0.0.0.0 --port=8000EXPOSE 8000
查看完整描述

2 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

您的 dockerfile 運行compose install --no-autoloader. 這可能是問題所在。


查看完整回答
反對 回復 2021-07-09
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

我通過以下方式解決了問題:

  1. 從 docker-compose.yml 中刪除卷

  2. 更改COPY . .命令的順序并將其放在前面RUN composer install

  3. 刪除 --no-autoloader


查看完整回答
反對 回復 2021-07-09
  • 2 回答
  • 0 關注
  • 376 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號