【问题标题】:Using Docker, how do you execute PHP composer commands?使用 Docker,如何执行 PHP composer 命令?
【发布时间】:2017-08-10 10:25:06
【问题描述】:

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

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

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

composer require league/oauth2-client

在我的 docker 容器中加入 shell 后,甚至没有安装 composer。如何将 composer 添加到 Dockerfile 中,然后执行我需要的 composer 命令?

【问题讨论】:

    标签: php docker composer-php


    【解决方案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
    

    【讨论】:

      【解决方案2】:

      在我的 docker 容器中安装一个 shell

      那将是在运行时 (docker run)

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

      例如,请参阅“Get composer (php dependency manager) to run on a docker image build”作为一种可能的方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多