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 关注
- 122 浏览
添加回答
举报