composer php安装(自己的容器)与Docker缺lessPHP扩展

我目前正在学习Docker,并使用它两个星期。 现在我有一个非常简单的任务,通过Composer安装PHP库。 通常,在没有Docker的情况下工作:

composer install 

现在,因为我使用Docker,我发现有一个Docker容器,它为我保留了composer php:

 docker run --rm -v $(pwd):/app composer/composer install 

这工作相当不错,但有一些图书馆,需要安装特定的PHP库,如bcmath,所以我把它添加到我的Dockerfile

 FROM php:7.0-apache RUN docker-php-ext-install bcmath <-- added this line COPY . /var/www/html WORKDIR /var/www/html EXPOSE 80 

当我重build我的容器,这段代码返回true

 var_dump(extension_loaded('bcmath')) 

万岁! BCMath安装正确,但是composer php不能识别它,因为该库没有安装在composer php容器中!

现在我可以忽略这一点

 docker run --rm -v $(pwd):/app composer/composer install --ignore-platform-reqs 

但在我看来,这是一个肮脏的工作,composer php无法validation我的平台。 有没有任何干净的解决scheme,除了在我的Dockerfile中下载composer php,不重复使用现有的容器?