我试图找出一种使用docker和laravel创建开发环境的方法.

我有以下dockerfile:

FROM php:7.1.3-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev \
    mysql-client libmagickwand-dev --no-install-recommends \
    && pecl install imagick \
    && docker-php-ext-enable imagick \
&& docker-php-ext-install mcrypt pdo_mysql
&& chmod -R o+rw laravel-master/bootstrap laravel-master/storage

Laravel要求composer在处理数据库迁移时调用composer dump autoload.因此,我需要在docker容器中使用composer.

我试过了:

RUN curl -sS https://getcomposer.org/installer | php -- \
--install-dir=/usr/bin --filename=composer

但是当我打电话给你的时候

docker-compose up
docker-compose exec app composer dump-autoload

它抛出以下错误:

rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\\"composer\\\": executable file not found in $PATH\"\n"

如果我能得到建议,如何将Composer添加到我的dockerfile中的路径,或者我还可以做些什么来克服这个错误,我会非常高兴的.

多谢你们的支持. 另外:如果您需要查看docker-compose.yml文件或任何其他文件,则this是gitub存储库.

推荐答案

I can install composer adding this line on my test dockerfile:

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Here is the dockerfile:

FROM php:7.1.3-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev \
    mysql-client libmagickwand-dev --no-install-recommends \
    && pecl install imagick \
    && docker-php-ext-enable imagick \
&& docker-php-ext-install mcrypt pdo_mysql

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

它对我来说很有用,可以测试是否安装了composer,我可以访问我的容器bash并执行:

composer --version
Composer version 1.6.5 2018-05-04 11:44:59

Php相关问答推荐

无法使用PHP DomDocument找到IMG元素

有条件的运费率基于购物车小计与WooPayments货币转换

PHP-转义字符串内的双反斜杠

Laravel POST方法返回状态:POST方法上不允许使用405方法

Laravel Nova不使用数组键作为筛选器中的选项值

Apache只允许index.php-不从根目录工作

在指定的约束内使用随机量填充数据集

Symfony Validator:如何使用XML表示法验证深度嵌套的数据?

PHP:为什么递归需要这么长时间

Wordpress,配置一周第一天选项

如何将不同的 Woocommerce 费用合并为一个名称?

注册命名空间后如何获取xml node 值?

PHP - 计算非数值数组

Shopware 6.4.20店铺激活问题

如何在自定义消息中包含 WooCommerce 选定的产品变体详细信息

PHP 合并/合并多维数组

PHP 中是否有 is_closure() 函数?

如何为多个表的id列设置不同的值

Laravel 响应 html 默认页面忽略控制器

为什么非贪婪匹配会消耗整个模式,即使后面跟着另一个非贪婪匹配