使用Docker,您如何执行PHP编写器命令?

时间:2017-03-19 00:47:01

标签: php docker composer-php

我是Docker的新手,并将我的PHP环境设置为我的Dockerfile:

FROM php:7.0-apache
COPY src/ /var/www/html/

现在我想使用我在github上找到的PHP代码,它说要安装它我只需要这样做:

composer require league/oauth2-client

将shell添加到我的docker容器中后,即使安装了composer也是如此。如何将作曲家添加到Dockerfile中,然后执行我需要的作曲家命令?

2 个答案:

答案 0 :(得分:1)

我能够通过将其添加到Dockerfile

来解决这个问题
RUN php -r "copy('https://getcomposer.org/installer', 'composer- setup.php');"
RUN php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer
RUN php -r "unlink('composer-setup.php');"
RUN composer require league/oauth2-client

答案 1 :(得分:0)

  

将shell放入我的docker容器

那将是在运行时(docker run

相反,创建一个新的Dockerfile,它以FROM myimage(您创建的php图像)开头,并添加/复制缺少的内容。

例如参见" Get composer (php dependency manager) to run on a docker image build"作为一种可能的方法。