2 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
發(fā)生這種情況是因?yàn)槟谑褂枚嚯A段構(gòu)建,而您的composer第二階段與之前使用容器的構(gòu)建無(wú)關(guān)PHP。多階段的主要用例是生成一些可供以后使用的有用工件。
所以我的建議是從composer圖像復(fù)制作曲家文件,然后將其放置在php容器中的某個(gè)位置。
我會(huì)給你我的解決方案,它對(duì)我來(lái)說(shuō)非常適合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貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以更改您的泊塢窗圖像。例如嘗試這個(gè):
FROM richarvey/nginx-php-fpm
WORKDIR /app
RUN php ./artisan config:cache && composer install
- 2 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)