gpt4 book ai didi

php - 如何在 Docker 容器中安装 PHP Composer

转载 作者:行者123 更新时间:2023-12-03 02:14:41 25 4
gpt4 key购买 nike

我尝试找到一种使用 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 中的 PATH 中,或者我还能做些什么来克服这个错误。

感谢您的支持。另:this如果您需要查看 docker-compose.yml 文件或其他任何内容,则为 gitub 存储库。

最佳答案

您可以执行内联Multi-stage build使用composer图像,因此您基本上只需将 composer 二进制文件复制到 PHP docker 图像中即可。

在 Dockerfile 中:

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

关于php - 如何在 Docker 容器中安装 PHP Composer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51443557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com