我是Docker的新手,并将我的PHP环境设置为我的Dockerfile:
FROM php:7.0-apache
COPY src/ /var/www/html/
现在我想使用我在github上找到的PHP代码,它说要安装它我只需要这样做:
composer require league/oauth2-client
将shell添加到我的docker容器中后,即使安装了composer也是如此。如何将作曲家添加到Dockerfile中,然后执行我需要的作曲家命令?
答案 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"作为一种可能的方法。