2 回答

TA貢獻1815條經驗 獲得超6個贊
發生這種情況是因為您正在使用多階段構建,而您的composer第二階段與之前使用容器的構建無關PHP。多階段的主要用例是生成一些可供以后使用的有用工件。
所以我的建議是從composer圖像復制作曲家文件,然后將其放置在php容器中的某個位置。
我會給你我的解決方案,它對我來說非常適合laravel/symfony等。
FROM php:7.4.4-fpm
# We copy composer from it's original image to our php container to use it later.
COPY --from=composer:1.9 /usr/bin/composer /usr/bin/composer
WORKDIR /var/www
ARG USER_ID
RUN useradd -s /bin/bash -d /home/user/ -m -G sudo,www-data user -u $USER_ID
RUN apt update && apt install -y zip unzip wget zlib1g-dev libicu-dev
RUN docker-php-ext-install pdo_mysql intl opcache gd
USER user
RUN wget https://get.symfony.com/cli/installer -O - | bash
ENV PATH="/home/user/.symfony/bin:${PATH}"
COPY php.ini /usr/local/etc/php
# You can also run here composer install, depends on your use case

TA貢獻1816條經驗 獲得超4個贊
您可以更改您的泊塢窗圖像。例如嘗試這個:
FROM richarvey/nginx-php-fpm
WORKDIR /app
RUN php ./artisan config:cache && composer install
- 2 回答
- 0 關注
- 157 瀏覽
添加回答
舉報